目前我使用的是Elastisearch 1.5.
我想更新到Elasticsearch 1.7.
然后当我在ES1.7以下运行查询时,我得到了错误
嵌套:QueryParsingException [[my_index] script_score脚本无法加载]; 嵌套:ScriptException [类型为[inline],operation [search]和lang [groovy]的脚本被禁用]; .
此查询肯定适用于ES 1.5环境.我想对ES 1.7使用相同的查询.
{
"query": {
"function_score": {
"query": {
"filtered": {
"query": {
"query_string": {
"fields": [
"itemname"
],
"query": "coke"
}
}
}
},
"script_score": {
"script": "_score + doc['myscore'].value"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经阅读过这份文件了. https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html#enable-dynamic-scripting
所以,我已将下面的选项添加到我的elasticsearch.yml中.
script.inline: on
script.indexed: on
script.engine.groovy.inline.aggs: on
Run Code Online (Sandbox Code Playgroud)
我做了重新启动elasticsearch守护进程并再次创建索引,但我仍然得到了错误.
有谁建议我如何解决这个问题?
添加
[root@elasticsearch]# curl -XGET 'http://localhost:9200'
{
"status" : 200,
"name" : "Ghost Girl",
"cluster_name" : "elasticsearch",
"version" : {
"number" …
Run Code Online (Sandbox Code Playgroud) 我想尝试使用Airflow而不是Cron.但是schedule_interval不能像我预期的那样工作.
我写了如下的python代码.
根据我的理解,Airflow应该在"2016/03/30 8:15:00"运行但当时没有用.
如果我改变它像''schedule_interval':timedelta(分钟= 5)",我认为它正常工作.
"notice_slack.sh"只是为我的频道调用slack api.
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import os
from airflow.operators import BashOperator
from airflow.models import DAG
from datetime import datetime, timedelta
args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2016, 3, 29, 8, 15),
}
dag = DAG(
dag_id='notice_slack',
default_args=args,
schedule_interval="@daily",
dagrun_timeout=timedelta(minutes=1))
# cmd file name
CMD = '/tmp/notice_slack.sh'
run_this = BashOperator(
task_id='run_transport', bash_command=CMD, dag=dag)
Run Code Online (Sandbox Code Playgroud)
我想在每天的特定时间运行我的一些脚本,就像这个cron设置一样.
15 08 * * * bash /tmp/notice_slack.sh
Run Code Online (Sandbox Code Playgroud)
我已阅读文档Scheduling&Triggers,我知道它有点不同的cron.
所以我尝试安排"start_date"和"schedule_interval"设置.
有谁知道我该怎么办? …