【发布时间】:2021-03-08 09:36:26
【问题描述】:
这是我的 ES 文档结构
admin_faq
- faq_id
- title
- is_active
案例 1 过滤器
用逗号分隔FAQ id's 2,3,4.
拆分 id 的使用
String[] array = assignedCategories.split(",");
for (String value : array) {
queryBuilderPost.should(QueryBuilders.termsQuery("faq_id", value));
}
在案例 1 中,这个查询对我来说很好,并且只显示常见问题,其中常见问题 ID 为 2,3,4
案例 2 当我有另一个像 is_active 这样的过滤器时,它会返回 is_active=Y 的所有数据,并且还与逗号分隔的 id 的常见问题解答有关
String[] array = assignedCategories.split(",");
for (String value : array) {
queryBuilderPost.should(QueryBuilders.termsQuery("faq_id", value));
}
queryBuilderPost.must(QueryBuilders.termsQuery("is_active", isActive));
注意:我希望只从具有活动记录的逗号分隔 id 中获取数据。你可以说它就像 MySQL 中的OR 条件一样工作。我们需要将其更改为我正在尝试但不适用于我的 AND 条件。
【问题讨论】:
标签: java elasticsearch playframework-2.0 elasticsearch-java-api