【问题标题】:Hibernate Elasticsearch Search Type dfs_query_then_fetchHibernate Elasticsearch 搜索类型 dfs_query_then_fetch
【发布时间】:2019-02-20 14:59:12
【问题描述】:

我正在使用 Hibernate 5.3/Hibernate Search 5.10 和 Elasticsearch 5.6。 我想在搜索时使用 dfs_query_then_fetch 作为默认搜索类型。

有没有办法在elasticsearch中设置这个默认的搜索类型,或者有没有办法配置Hibernate Search在它的搜索请求中使用这个参数?

无论哪种方式我都可以。

elasticsearch 文档说

不要在生产中使用 dfs_query_then_fetch。确实不需要

但我使用分数进行排序,并结合另一个排序字段。如果几乎相同的分数没有作为相同的分数返回,则排序结果不符合预期。

谢谢, 克里斯

【问题讨论】:

    标签: elasticsearch hibernate-search


    【解决方案1】:

    不,Hibernate Search 5 不允许对您的查询进行这种级别的自定义。

    不过,我们对 Search 6 中查询自定义的用例感兴趣,因此请务必创建一个 JIRA 票证,以便我们可以看到我们可以做什么:https://hibernate.atlassian.net/projects/HSEARCH

    【讨论】:

    • 谢谢!不幸的是,Search 6 在不久的将来不会成为一个选项。至少在 Spring Data 支持更新的 Hibernate 版本之前不会。
    【解决方案2】:

    我最终只使用一个分片作为我的索引来配置 Elasticsearch。结果,我也得到了我正在寻找的结果分数。

    我可以使用单个分片,因为我的索引中没有大量数据。

    【讨论】:

      猜你喜欢
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      相关资源
      最近更新 更多