【发布时间】:2020-04-10 08:01:22
【问题描述】:
使用适用于 Java v7.3 的 Elasticsearch 高级 REST 客户端
架构中有几个字段如下所示:
{
"document_type" : ["Utility", "Credit"]
}
基本上一个字段可以有一个字符串数组作为值。我不仅需要查询特定的document_type,还需要一般的字符串查询。
我尝试了以下代码:
QueryBuilder query = QueryBuilders.boolQuery()
.must(QueryBuilders.queryStringQuery(terms))
.filter(QueryBuilders.termQuery("document_type", "Utility"));
...不返回任何结果。如果我删除“.filter()”部分,查询返回正常,但过滤器似乎阻止任何结果返回。我怀疑这是因为 document_type 是一个多值数组 - 也许我错了。我将如何构建查询以查询所有文档的特定术语,同时按 document_type 过滤?
【问题讨论】:
标签: java rest elasticsearch lucene