【问题标题】:Spring Data ElasticSearch: returned scores are offSpring Data ElasticSearch:返回的分数已关闭
【发布时间】:2018-09-25 12:02:23
【问题描述】:

我有一个 Spring Boot 项目,其中 org.springframework.boot:spring-boot-starter-data-elasticsearch:jar:2.0.0.RELEASE 连接到 elasticsearch-6.3.1 服务器。

我有以下情况:对于一些弹性搜索查询(涉及一个应该布尔),我得到的分数与我使用 curl 手动运行查询时不同。

我尝试过的步骤:在调用 repo 之前使用调试器从 SearchQuery 中提取查询,从弹性搜索日志中提取查询(使用 "index.search.slowlog.threshold.fetch.debug" : "0s", "index.search.slowlog.threshold.query.debug" : "0s");在这两种情况下,使用 curl 手动运行查询会给出一组与 Java api 给出的分数不同的分数。

我提到我无法通过查看两个分数集之间的差异来找到模式。手动查询返回的分数似乎是正确的,因为我希望其中一些具有相同的值,而 api 返回的分数不会发生这种情况。

如果您对可能导致此问题的原因或如何继续调查有任何想法,我们将不胜感激。

【问题讨论】:

    标签: spring-boot elasticsearch spring-data-elasticsearch


    【解决方案1】:

    我已经设法使 api 返回与手动运行相同的分数,方法是使用 constantScoreQuery 包装内部查询,看来 TF/IDF 标准是“罪魁祸首”。

    不过,仍然很好奇,为什么手动查询一开始就表现为忽略 TF/IDF ..

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 2021-04-05
      • 2014-09-22
      • 1970-01-01
      • 2021-04-21
      • 2016-05-12
      相关资源
      最近更新 更多