總是0我有這種Groovy腳本的:Elasticsearch:_score在Groovy腳本
def multiplier = doc['data'].value
if (multiplier <= 0) {
multiplier = 1
}
multiplier * _score
我用它作爲script_score
,我的成績是0好像_score
始終爲0。隨着小米腳本,它的作品。
MVEL腳本是:
_score * doc['data'].value
查詢(只針對MVEL版本lang
變化):
"function_score": {
query: {
"bool": {
"should": [
// many matches...
],
"minimum_should_match": 1,
},
},
"script_score": {
"lang": "groovy",
"file": "my_script",
},
"boost": 2.5,
"score_mode": "max",
}
難道我做錯了什麼? 我在Elasticsearch 1.5.2上測試了這個。
你從哪兒弄來的'_score'variable – bmscomp
@bmscomp ES提供了它,它在本文檔中有描述https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html – Jazz
你能分享mvel和groovy嗎? ES查詢版本? –