大数据技术之Elasticsearch-Java API操作(二)条件查询QueryBuilder
对所有字段分词查询(queryStringQuery)
1)源代码
@Test public void query() { // 1 条件查询 SearchResponse searchResponse = client.prepareSearch("blog").setTypes("article") .setQuery(QueryBuilders.queryStringQuery("全文")).get();
// 2 打印查询结果 SearchHits hits = searchResponse.getHits(); // 获取命中次数,查询结果有多少对象 System.out.println("查询结果有:" + hits.getTotalHits() + "条");
for (SearchHit hit : hits) {
// 3 关闭连接 client.close(); } |
2)结果查看
****自己操作****
Java代码:
// 十、查询所有--queryStringQuery
@Test public void query() { // 类似于like,对所有字段like
SearchResponse searchResponse = client.prepareSearch("blog").setTypes("article") .setQuery(QueryBuilders.queryStringQuery("大数据")).get(); SearchHits hits = searchResponse.getHits(); System.out.println("查询结果有:" + hits.getTotalHits() + " 条"); for (SearchHit searchHits : hits) { System.out.println(searchHits.getSourceAsString()); } client.close(); }
结果:
原数据:
打印结果:
查询结果有:1 条
{"id":"2","title":"基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。大数据前景无限","createDate":"2017-8-22"}