大家好,我使用的是Elasticsearch 1.1.1版,并且已经正确验证了该版本。在elasticsearch文档中,有一个函数得分查询,提供了一个名为field_value_factor的函数,但是当我尝试使用它时,出现以下错误:
nested: QueryParsingException[[teindex] No function with the name [field_value_factor] is registered.]
这是我的使用方式:
"function_score": {
"functions": [
{
"gauss": {
"createVendor": {
"scale": "2d",
"offset": "5d",
"decay" : 0.5
}
}
},
{
"field_value_factor": {
"field" : "ipscore",
"modifier" : "log"
}
}
],
"query": {
"multi_match": {
"query": "beach",
"fields": ["title^12","description^5","tags^8" ]
}
},
"score_mode": "multiply"
}
关于它为什么失败的任何线索?谢谢。
最佳答案
我遇到了同样的问题。正如@Thorsten所建议的那样,我可以确认在v1.1.1(在撰写本文时,它是官方存储库中的最新版本)中绝对不可用。在我看来,它将出现在v1.2.0中……希望如此。
您现在可以尝试执行以下操作:
"function_score": {
"functions": [
{
"gauss": {
"createVendor": {
"scale": "2d",
"offset": "5d",
"decay" : 0.5
}
}
},
{
"script_score": {
"script": "_score * log(doc['ipscore'].value)"
}
}
],
"query": {
"multi_match": {
"query": "beach",
"fields": ["title^12","description^5","tags^8" ]
}
},
"score_mode": "multiply"
}
关于elasticsearch - 在Elasticsearch查询中使用field_value_factor函数时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23360237/