我的搜索查询如下所示:
curl -XGET "http://localhost:9200/imagesearchservice/images /_search?pretty=true" -d '
{
"query": {
"bool": {
"must": [
{
"nested": {
"path":"tags",
"query": {
"bool": {
"must": [
{"match_all" : {} }
],
"filter" : {
"terms" : {
"tags.tagName" : ["star"]
}
}
}
}
}
}
]
}
}
}'
我尝试执行以下操作,但没有成功。
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withFilter(boolQuery().must(termsQuery("tags.tagName", tagNames)))
.build();
我正在使用 Elastic Search v2.x 。有人可以告诉我如何使用 nativesearchquerybuilder 为上述内容构建搜索查询吗?
最佳答案
我会做这样的事情:
BoolQueryBuilder booleanQuery = new BoolQueryBuilder();
booleanQuery.must(termsQuery("tags.tagName", tagNames));
myElasticSearchRepository.search(booleanQuery)
其中 myElasticSearchRepository 是扩展 ElasticsearchRepository 的接口(interface)
关于java - 如何在 spring-data Elasticsearch 中构建嵌套对象的搜索查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570488/