GET /goods/_search { "query": { "match_all": {} } }
SearchRequest searchRequest=new SearchRequest("goods"); searchRequest.source().query(QueryBuilders.matchAllQuery()); SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = search.getHits(); long value = hits.getTotalHits().value; for (SearchHit hit : hits.getHits()) { System.out.println(hit.getSourceAsString()); }
GET /goods/_search { "query": { "match": { "title": "华为" } } }
SearchRequest searchRequest=new SearchRequest("goods"); searchRequest.source().query(QueryBuilders.matchQuery("title","华为")); SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = search.getHits(); long value = hits.getTotalHits().value; for (SearchHit hit : hits.getHits()) { System.out.println(hit.getSourceAsString()); }
GET /goods/_search { "query": { "bool": { "must": [ { "term": { "brandName": { "value": "Apple" } } } ], "filter": [ { "range": { "price": { "gte": 7000, "lte": 8000 } } } ] } } }
SearchRequest searchRequest=new SearchRequest("goods"); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); boolQueryBuilder.must(QueryBuilders.termQuery("brandName","Apple")) .filter(QueryBuilders.rangeQuery("price").gte(7000).lte(8000)); searchRequest.source().query(boolQueryBuilder); SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = search.getHits(); long value = hits.getTotalHits().value; for (SearchHit hit : hits.getHits()) { System.out.println(hit.getSourceAsString()); }
GET /goods/_search { "query": { "match_all": {} }, "from": 0, "size": 20 , "sort": [ { "price": { "order": "desc" } } ] }
SearchRequest searchRequest=new SearchRequest("goods"); searchRequest.source().query(QueryBuilders.matchAllQuery()).from(0).size(20).sort("price", SortOrder.DESC); SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = search.getHits(); long value = hits.getTotalHits().value; for (SearchHit hit : hits.getHits()) { System.out.println(hit.getSourceAsString()); }
GET /goods/_search { "query": { "match": { "title": "手机" } }, "highlight": { "fields": { "title": { "pre_tags": [ "<font color='red'>" ], "post_tags": [ "</font>" ] } } } }
SearchRequest searchRequest=new SearchRequest("goods"); searchRequest.source().query(QueryBuilders.matchQuery("title","手机")) .highlighter(new HighlightBuilder().field("title").preTags("<font color=\'red\'>").postTags("</font>")); SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); SearchHits hits = search.getHits(); long value = hits.getTotalHits().value; for (SearchHit hit : hits.getHits()) { Goods goods = JSON.parseObject(hit.getSourceAsString(), Goods.class); Map<String, HighlightField> highlightFields = hit.getHighlightFields(); if(highlightFields!=null){ HighlightField highlightField = highlightFields.get("title"); if(highlightField!=null){ String string = highlightField.getFragments()[0].string(); goods.setTitle(string); } } System.out.println(goods);