查询时间提升使您可以对一个查询赋予更多的权重。例如,假设您要查询“ Quick Brown Fox” 的
titleand
body字段,则可以将其编写为:
{ "query": { "bool": { "should": [ { "match": { "title": "Quick Brown Fox" } }, { "match": { "body": "Quick Brown Fox" } } ] } }}但是您决定要使该
title字段比该
body字段更重要,这意味着您需要通过(例如)2
boost对该
title字段进行查询:
{ "query": { "bool": { "should": [ { "match": { "title": { "query": "Quick Brown Fox", "boost": 2 } } }, { "match": { "body": "Quick Brown Fox" } } ] } }}(请注意
match子句的结构如何更改以容纳
boost参数)。
的
boost值
2不能
_score精确到两倍-分数经过标准化过程。因此,您应将其
boost视为 使此查询子句比其他查询子句相对更重要 。
我的疑问是我是否在某些查询中使用提升值。是否会影响搜索的最终分数
是的,它可以,但是
_score无论如何您都不应该依赖于实际值。其唯一目的是允许Elasticsearch决定哪些文档 与此查询
最相关。如果查询更改,则分数也会更改。
重新编制索引时间:请勿使用。它不灵活且容易出错。



