如何仅对那些打成平局(_score)的文档重新评分?

时间:2019-05-23 09:08:27

标签: elasticsearch

我有一组符合特定查询的文档。在这些文档上,正在应用重新评分查询。即使在重新计分之后,仍有某些文档被捆绑在一起(具有相等的_score值)。对于此类资产,我想使用其他字段(例如date字段)打破平局。我该怎么办?

尝试以下方法: 1.添加两个重新评分查询:original_rescore,后跟date_rescore。这会改变所有文档的分数,而不仅仅是捆绑文档的分数。 2. Elasticsearch不支持“重新评分后排序”。

{
  "query": {
    "match": {
      "<MY_FIELD>": {
        "minimum_should_match": "2<-25% 9<-3",
        "query": "<MY_QUERY>"
      }
    }
  },
  "rescore": {
    "query": {
      "rescore_query": {
        "bool": {
          "should": [
            {
              "function_score": {
                "field_value_factor": {
                  "field": "document.quality_score",
                  "missing": 0
                }
              }
            }
          ]
        }
      },
      "query_weight": 0.95,
      "rescore_query_weight": 0.05
    }
  }
}

此查询: 1.查找所有与MY_QUERY匹配的文档(带有MY_FIELD) 2.根据document.quality_score对此类资产进行评分。

如何向其添加排序/重新计算,以便可以根据新的查询/字段对所有绑定资产进行排序。

0 个答案:

没有答案