是否可以根据字段的存在来提高文档的相关性?我已经阅读了关于 function score queries 的内容,但我想知道如何考虑存在 - 根据我的理解,field_value_factor 适用于该字段的内容,而不是它的存在。

最佳答案

函数分数查询是可能的,但是分数函数的计算成本很高且不是必需的(请记住,下面使用的 exists 查询可能在 2014 年不可用)。

可以执行以下操作:

POST _search
{
  "query": {
    "bool" : {
      "should" : [
        {
          match_all: {
            "boost": 10
          }
        },
        {
         "exists": {
           "field": "some_field_that_should_exist"
          }
        }
      ],
      "minimum_should_match" : 2,
    }
  }
}

最小应该匹配为 2 我们说两个子句必须匹配才能使应该子句匹配。这可以防止将提升应用于没有该字段的文档。

关于elasticsearch - 根据字段的存在提升文档,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23563768/

10-10 18:36