Elasticsearch以类似于REST Query DSL的方式提供完整的Java查询dsl。 查询构建器的工厂是QueryBuilders。 一旦您的查询准备就绪,您可以使用搜索API
@Test
public void testMatchAll(){
//构造查询对象
QueryBuilder query= QueryBuilders.matchAllQuery();
//搜索结果存入SearchResponse
SearchResponse response=client.prepareSearch("my-index")
.setQuery(query) //设置查询器
.setSize(3) //一次查询文档数
.get();
SearchHits hits=response.getHits();
for(SearchHit hit:hits){
System.out.println("source:"+hit.getSourceAsString());
System.out.println("index:"+hit.getIndex());
System.out.println("type:"+hit.getType());
System.out.println("id:"+hit.getId());
//遍历文档的每个字段
Map<String,Object> map=hit.getSourceAsMap();
for(String key:map.keySet()){
System.out.println(key+"="+map.get(key));
}
System.out.println("--------------------");
}
}