elasticsearch 弹性搜索运行groovy脚本两次,这是一个bug吗?
我在脚本查询中发现了一些意外行为(脚本在一个简单查询中执行了两次) 我的配置:弹性搜索版本:2.4.6(问题仍在弹性5.6中) My elasticsearch.yml:
elasticsearch 弹性搜索运行groovy脚本两次,这是一个bug吗?,
elasticsearch,
elasticsearch-5,
elasticsearch,
elasticsearch 5,我在脚本查询中发现了一些意外行为(脚本在一个简单查询中执行了两次) 我的配置:弹性搜索版本:2.4.6(问题仍在弹性5.6中) My elasticsearch.yml: script.indexed: true 重现问题的步骤如下: 1) 我有一个简单的文档doc1.json: { "id": "1", "tags": "t1" } 2) 将doc1插入弹性体: http PUT localhost:9200/default/type1/1@doc1.json 3) 我有一
script.indexed: true
重现问题的步骤如下:
1) 我有一个简单的文档doc1.json:
{
"id": "1",
"tags": "t1"
}
2) 将doc1插入弹性体:
http PUT localhost:9200/default/type1/1@doc1.json
3) 我有一个简单的groovy脚本script1.json(只需返回分数并打印它):
4) 注册脚本1:
http POST'localhost:9200/_scripts/groovy/script1'@script1.json
5) 使用_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/\u search'@query\u with\u script.json
6) 为什么在弹性搜索日志中我看到脚本在两个不同的时间执行?是虫子吗
Score is 0.19178301095962524 for document [1] at 1516586818596
Score is 0.19178301095962524 for document [1] at 1516586818606
非常感谢 您可能应该删除解释标志,因为这可能是脚本执行两次的原因。您可以删除解释标志吗?就是这样。如果你愿意,你可以把它作为答案,我会把它标记为接受。谢谢
Score is 0.19178301095962524 for document [1] at 1516586818596
Score is 0.19178301095962524 for document [1] at 1516586818606