我正在尝试在elasticsearch中运行直接的功能评分查询:
{
"function_score": {
"query": {
"term": {
"timestamp": {
"value": 1396361509,
"boost": 0.05
}
}
},
"script_score": {
"script": "abs(1396361509 - doc['timestamp'].value)"
}
}
}
但我一直收到一条错误消息,说没有解析器" function_score":
SearchParseException[[test_index][4]: from[-1],size[-1]: Parse Failure [No parser for element [function_score]]]; }{[PKoYz4OLTbOWb6ziP8AIaQ][test_index][1]: SearchParseException[[test_index][1]: from[-1],size[-1]: Parse Failure [Failed to parse source
我正在使用elasticsearch 1.1.1并尝试通过curl调用,弹头和JAVA API运行它。结果总是一样的!
答案 0 :(得分:3)
免责声明:这是从问题
中提取的功能分数本身应该包含在查询中!这是一个例子:
{
"query": {
"bool" : {
"should" : {
"function_score" : {
"query" : {
"match_all" : { }
},
"script_score" : {
"script" : "_score * 1/abs(1396361509-doc['timestamp'].value)"
}
}
},
"boost" : 0.05
}
}