2017-07-19 133 views
0

我想使用java API構建ElasticSearch查詢。這個查詢使用stored_fields,任何人都可以幫助我如何構建來自java代碼的stored_field查詢。ElasticSearch stored_fields java API

{ 
    "from": 0, 
    "size": 10, 
    "stored_fields": [ 
    "f1", 
    "f2", 
    "f3", 
    "f4" 
    ], 
    "query": { 
    "bool": { 
     "must": { 
     "match": { 
      "compositeField1": { 
      "query": "test123", 
      "type": "boolean", 
      "operator": "AND" 
      } 
     } 
     } 
    }, 
    "sort": [ 
    { 
     "_score": {} 
    } 
    ] 
} 
+0

什麼是您的ElasticSearch版本? – Zico

+0

我正在使用ElasticSearch 5.2版本 –

回答

1

下面的代碼

SearchRequestBuilder srb = .... 
    srb.setFrom(0).setSize(10).storedFields("f1", "f2", "f3", "f4"); 
    srb.addSort(SortBuilders.scoreSort()); 

    BoolQueryBuilder bqb = new BoolQueryBuilder(); 
    bqb.must(QueryBuilders.matchQuery("compositeField1", "test123") 
      .operator(Operator.AND).type(MatchQuery.Type.BOOLEAN)); 
    srb.setQuery(bqb); 

注:ES設置一些默認所需的參數。