有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

elasticsearch将源代码添加到BoolQueryBuilder Java

GET working-alias/_search
{
  "_source": "required-attribute" ,
  "query": {
    "bool": {
      "must" : [
        {
          "match": {
            "key": "keyvalue"
          }
        }
      ]
    }
  }
}

我正试图使用BoolQueryBuilder在Java中构建上述查询。我能够用下面的代码获得查询部分。但是,我只需要查询返回某些字段,这需要我添加“\u source”。我在BoolQueryBuilder中找不到一个函数,该函数允许我添加“\u source”,其中包含要返回到整个查询的必需字段

final BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
queryBuilder.must(QueryBuilders.matchQuery(KEY, queryValue));

共 (1) 个答案

  1. # 1 楼答案

    解决方案是在SearchSourceBuilder中封装queryBuilder。SearchSourceBuilder将允许使用.fetchSource添加源

    final BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
    queryBuilder.must(QueryBuilders.matchQuery(KEY, queryValue));
    SearchSourceBuilder searchSourceBuilder =
                        new SearchSourceBuilder().query(queryBuilder).fetchSource(fieldIAmLookingFor, null);