elasticsearch,Boost,elasticsearch" /> elasticsearch,Boost,elasticsearch" />

根据实际字段值查询boost

根据实际字段值查询boost,boost,elasticsearch,Boost,elasticsearch,大家好 我目前正在为我的网站进行elasticsearch。我的问题是: 是否可以根据字段的值增强查询 例如: 我有一个叫做premiumlevel的字段。如果“数据行”包含4的前置级别,则boostvalue应为40;如果为3,则boostvalue应为30,依此类推。 Boost=字段值乘以10 有没有办法实现这样的查询?我看到了一种类似的查询日期范围的方法,但我从来没有找到一个例子,其中字段的实际值用于boost值计算 编辑: 我想我刚刚找到了问题的答案。 如果我获得了正确的文档,就有可能

大家好

我目前正在为我的网站进行elasticsearch。我的问题是: 是否可以根据字段的值增强查询

例如: 我有一个叫做premiumlevel的字段。如果“数据行”包含4的前置级别,则boostvalue应为40;如果为3,则boostvalue应为30,依此类推。 Boost=字段值乘以10

有没有办法实现这样的查询?我看到了一种类似的查询日期范围的方法,但我从来没有找到一个例子,其中字段的实际值用于boost值计算

编辑: 我想我刚刚找到了问题的答案。 如果我获得了正确的文档,就有可能通过CustomScore查询实现我的目标。在我完成测试后,我将用我的代码片段编辑这个答案

这是文件段落:


附言:新用户在8小时前不允许回答他们自己的问题的规则在我看来是不合理的/无效的。

我能想到的做你想做的事情的唯一方法是实际索引提升值:

从文档:

上面的映射定义了名为_boost的字段的映射。如果索引的JSON文档中存在_boost字段,则其值将控制索引文档的boost级别


我不认为这种方法可以解决我的问题,但我找到了另一种可能的解决方法(见我的编辑,我无法回答自己,因为我是一个新用户)。你走对了方向:你只需要使用一个小脚本来定制分数。
{
  "tweet" : {
    "_boost" : {"name" : "_boost", "null_value" : 1.0}
  }
}