【问题标题】:How to build a search query for nested objects in spring-data elastic search?如何在spring-data弹性搜索中为嵌套对象构建搜索查询?
【发布时间】:2016-09-19 10:07:07
【问题描述】:

我的搜索查询如下所示:

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 为上述内容构建搜索查询吗?

【问题讨论】:

    标签: java elasticsearch spring-boot spring-data-elasticsearch


    【解决方案1】:

    我会这样做:

      BoolQueryBuilder booleanQuery = new BoolQueryBuilder();
      booleanQuery.must(termsQuery("tags.tagName", tagNames));
      myElasticSearchRepository.search(booleanQuery)
    

    myElasticSearchRepository 是一个扩展 ElasticsearchRepository 的接口

    【讨论】:

      猜你喜欢
      • 2020-11-03
      • 1970-01-01
      • 2015-05-27
      • 2021-09-01
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 2020-07-26
      相关资源
      最近更新 更多