弹性搜索:关键词查询的负提升



目前,我正在使用以下查询,并对一个术语进行正增强。

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

这里描述了这种类型的查询。我想知道是否有可能像上面那样使用负提升,但不是2.0或-2.0。像这样:

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

我找不到任何关于它的文档。它只告诉boost的默认值是1.0。所有的例子都使用了正增强。然而,也有一些负面的提升(在这里描述),但这是提升查询而不是术语。

最好的方法是尝试一下;-)如果你得到一个搜索异常或其他东西,你会知道负面提升是不允许的。但如果你试着去做,你就会发现事实并非如此,消极的刺激是完全有效的,并且会影响分数。

如您所见,您还可以使用boosting_querynegative_boost,这将降低匹配给定查询的结果(例如具有"title": "word"的那些文档)。但是要注意,在使用这个查询时,negative_boost值必须是一个"正"数,因为它已经在源代码中被否定了。

最新更新