【问题标题】:Disable query normalization in Elasticsearch在 Elasticsearch 中禁用查询规范化
【发布时间】:2015-11-07 02:00:23
【问题描述】:

我有一个包含文档的弹性搜索索引,其中包含带有“重要性”字段的嵌套文档。

我尝试查询嵌套文档并获得父文档的分数,这是嵌套文档的“重要性”字段的总和(我使用“function_score”查询进行此操作)

现在的问题是:我对搜索时使用的术语进行了动态计数。所以查询规范化每次都有不同的因素。这使得调试我的查询变得很困难。

例子

device_1
    component_1 (importance: 1)
    component_2 (importance: 0.5)
    component_3 (importance: 0.2)
    component_4 (importance: 1.5)

device_2
    component_1 (importance: 0.3)
    component_3 (importance: 2)
    component_4 (importance: 1)

设备是文档,​​组件是嵌套文档。

现在,当我搜索“component_3”和“component_2”时,我希望得到以下结果:

device_1, score: 0.7 (0.2 + 0.5)
device_2, score: 2 (2)

但是当我搜索一个或两个或三个组件时,查询规范化因子是不同的。所以我总是得到不同的分数,而且很难调试并找出查询是否做了它应该做的事情。

是否可以禁用查询规范化?还有其他处理固定分数的想法吗?我不需要我的查询具有可比性,我需要它们易于理解。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2017-05-09
      • 2016-04-04
      • 1970-01-01
      • 2014-10-21
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      相关资源
      最近更新 更多