功能评分查询elasticsearch解析错误

时间:2014-05-05 13:51:58

标签: elasticsearch information-retrieval

我正在尝试在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运行它。结果总是一样的!

1 个答案:

答案 0 :(得分:3)

免责声明:这是从问题

中提取的

功能分数本身应该包含在查询中!这是一个例子:

  {
    "query": { 
      "bool" : {
        "should" : {
          "function_score" : {
                     "query" : {
          "match_all" : { }
        },
        "script_score" : {
          "script" : "_score * 1/abs(1396361509-doc['timestamp'].value)"
        }
      }
    },
    "boost" : 0.05
  }
}