大數據技術之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"}