我发现了脚本查询的一些意外行为(脚本在一个简单的查询中执行了两次)。
我的配置:elastic search版本:2.4.6(问题仍然存在于Elastic5.6中)
My elasticsearch.yml:
script.indexed: true
重现问题的步骤:
1) 我有一个简单的文档doc1.json:
{
"id": "1",
"tags": "t1"
}
2) 在 Elastic 中插入 doc1:
http PUT localhost:9200/default/type 1/1 @ doc 1 . JSON
3)我有一个简单的时髦脚本,script1.json(只需返回分数并打印出来):
{
"script": "println('Score is ' + _score * 1.0 + ' for document ' + doc['id'] + ' at ' + DateTime.now().getMillis()); return _score;"
}
4)寄存器脚本1:
http POST ' localhost:9200/_ scripts/groovy/script 1 ' @ script 1 . JSON
5)执行此query_with_script.json:
{
"query":{
"function_score":{
"query":{
"bool":{
"must":{
"match":{
"tags":{
"query":"t1",
"type":"boolean"
}
}
}
}
},
"functions":[
{
"script_score":{
"script":{
"id":"script1",
"lang":"groovy"
}
}
}
],
"boost_mode":"replace"
}
},
"explain" : true
}
http GET 'localhost:9200/default/type1/_search' @query_with_script.json
6) 为什么在 Elastic 搜索日志中,我看到脚本在两个不同的时间执行?这是一个错误吗?
Score is 0.19178301095962524 for document [1] at 1516586818596
Score is 0.19178301095962524 for document [1] at 1516586818606
谢谢!
您可能应该删除解释标志,因为它可能是脚本执行两次的原因。
我正在尝试使用无痛脚本更新文档。我的文档包含等字段(字段名称包含字符 )。 文档示例: 执行以下脚本时,我得到了< code >“a4ayc/8”字段的异常: [type=illegal_argument_exception,原因=无效赋值:无法为除法操作赋值 [/]] 脚本: 有没有解决方法?
我是ES的新手,我正在尝试使用聚合编写搜索查询。 在写同样的东西时,我面临着无痛脚本的问题。 哪里可以得到完整的无痛脚本文档,用于弹性搜索?
问题内容: 当我尝试在Jenkins控制台中执行以下Groovy脚本时,发生以下错误。 这已从“ 使用Jenkins”>“ Jenkins脚本控制台”>“参数化系统Groovy脚本”中获取。 该错误表明它包含一些缺少的属性: 我已经尝试使用Groovy脚本插件从Jenkins运行RunningGroovy命令,但在我的情况下不起作用。 问题答案: 如果我→ 执行系统Groovy脚本 → Groov
我正在使用Netbeans 7.4。我使用glassfish服务器创建了一个新的web项目。现在我喜欢在其中使用groovy脚本。但问题是groovy代码没有在那里进行解释。其输出与代码相同。 它应该给输出Hello Barun!但不是给我输出def name='Barun'println“Hello$name!” 我还将最新的groovy-all jar文件包含到我的项目库中。但是还没有运气。我
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。
当我执行ps-aef grep elasticsearch HeapDumpOnOutOfMemoryError时看到了这一点 501 373 47 1 0 2:29pm ttys004 0:04.14/usr/bin/Java-xms4g-xmx4g-xss256k-djava.awt.headless=true-xx:+useparnewgc-xx:+useparnewgc-xx:+usepa