Elasticsearch:文档得分等于字段中的命中数

时间:2015-01-31 20:22:13

标签: elasticsearch scoring

使用elasticsearch,我在一个通常有大量文本的字段上搜索索引,我只想知道每个文档匹配查询的次数。有人知道这样做的好方法吗?如果可能的话,我想通过得分值来做。例如,如果我搜索了#34; fox"在快速的棕色狐狸身上跳过懒惰的狐狸"我得到的东西包括:

" _score" :2.0

1 个答案:

答案 0 :(得分:0)

默认的评分模型也将此考虑到图片中,但这不是唯一的帐户。 您正在寻找的是术语频率。 默认评分模型基于TF-IDF(术语频率和逆文档频率)以及字段长度。 您可以阅读更多相关信息here

现在回到您的要求,您可以使用scripting modulefunction score query

{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "field": "fox"
        }
      },
      "boost_mode": "replace",
      "functions": [
        {
          "script_score": {
            "script": "_index['field']['fox'].tf()"
          }
        }
      ]
    }
  }
}