弹性搜索:术语查询的负增长

时间:2015-10-03 16:09:21

标签: json elasticsearch

目前,我正在使用如下的查询,并积极推广一个词。

    "query": {
        "bool" : {
            "must" : {
                "term" : { "title" : {value :"word", boost: 2.0}}
            }
         }
      }

此类查询描述为here。 我想知道是否有可能像上面那样使用负增强术语,而不是2.0 a -2.0。像这样:

     "query": {
        "bool" : {
            "must" : {
                "term" : { "title" : {value :"word", boost: -2.0}}
            }
         }
      }

我无法找到任何相关文档。它只告诉boost的默认值是1.0。所有例子都使用正面提升。然而,有一些负面的提升(描述here),但这会提高查询而不是条款。

1 个答案:

答案 0 :(得分:0)

最好的方法是尝试一下;-)如果你得到搜索异常或者你知道不允许负面提升的东西。但是,如果你尝试过,你会发现事实并非如此,负面提升是完全有效的并影响分数。

如您所见,您还可以将boosting_querynegative_boost一起使用,这会降低与给定查询匹配的结果(例如,具有"title": "word"的文档)。但请注意,与使用此查询时相比,negative_boost值必须为"正数"数字,因为它已在源代码中被否定。