gpt4 book ai didi

java - 如何使用 Spring Data Elasticsearch 通过 OR 逻辑创建对 Elasticsearch 的复杂查询?

转载 作者:行者123 更新时间:2023-12-02 01:02:53 32 4
gpt4 key购买 nike

我正在寻找使用 java 中的 OR 逻辑对 Elasticsearch 进行复杂查询的最佳方法。

我真的需要像((A和B)或(C和D)或(E和F和G))这样的东西

现在我使用 ElasticsearchTemplate 和 org.springframework.data.elasticsearch.core.query.Criteria.class

但是我无法在一个查询中实现 OR 逻辑,我必须向 Elasticsearch 发出单独的请求:

  • 一个用于(A 和 B),
  • 一个用于(C 和 D),依此类推...

最佳答案

您可以使用 boolean 查询对 OR 和 AND 查询进行建模:

在您的示例中是:

boolQuery().should(boolQuery().must(A).must(B))
.should(boolQuery().must(C).must(D))
.should(boolQuery().must(E).must(F).must(G));

关于java - 如何使用 Spring Data Elasticsearch 通过 OR 逻辑创建对 Elasticsearch 的复杂查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60428691/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com