gpt4 book ai didi

elasticsearch - 如何从Elasticsearch Painless脚本访问术语位置/偏移量?

转载 作者:行者123 更新时间:2023-12-02 23:26:35 27 4
gpt4 key购买 nike

我们使用AWS Elasticsearch,后者从版本5开始支持无痛脚本编写。
我需要在自定义分数脚本中访问term positions/offsets

在旧的Groovy脚本中,它可以工作:

"query": {
"function_score": {
"query": {"match_phrase": {"text": "life"} },
"script_score": {
"script": {
"lang": "groovy",
"inline": "termInfo=_index['text'].get('life', _POSITIONS);"
}
},
"boost_mode": "multiply"
}
}

但这不适用于Painless。它返回“编译错误”。

最佳答案

希望对您有所帮助,我希望根据文档中查询文本的位置获得分数

{
"query": {
"bool": {
"should": [
{
"function_score": {
"query": {
"match_phrase_prefix": {
"field": "query"
}
},
"script_score": {
"script": {
"lang": "painless",
"source": "(params['_source']['field'].toLowerCase().indexOf('query'.toLowerCase())+1)"
}
},
"boost_mode": "max"
}
}
]
}
}
}

关于elasticsearch - 如何从Elasticsearch Painless脚本访问术语位置/偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42380062/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com