<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java API之查詢文檔

      1、查詢指定id文檔

      import org.elasticsearch.action.get.GetRequest;
      import org.elasticsearch.action.get.GetResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.util.ConnectElasticsearch;
      
      public class GetDoc {
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(client -> {
                  //1.創建請求對象
                  GetRequest request = new GetRequest().index("user").id("1001");
                  //2.客戶端發送請求,獲取響應對象
                  GetResponse response = client.get(request, RequestOptions.DEFAULT);
                  //3.打印結果信息
                  System.out.println("_index:" + response.getIndex());
                  System.out.println("_type:" + response.getType());
                  System.out.println("_id:" + response.getId());
                  System.out.println("source:" + response.getSourceAsString());
              });
          }
      }

      輸出如下:

       

      2、查詢所有文檔

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.util.ConnectElasticsearch;
      
      public class QueryAllDoc {
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(client -> {
                  // 創建搜索請求對象
                  SearchRequest request = new SearchRequest();
                  request.indices("user");
                  // 構建查詢的請求體
                  SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
                  // 查詢所有數據
                  sourceBuilder.query(QueryBuilders.matchAllQuery());
                  request.source(sourceBuilder);
                  SearchResponse response = client.search(request, RequestOptions.DEFAULT);
                  // 查詢匹配
                  SearchHits hits = response.getHits();
                  System.out.println("took:" + response.getTook());
                  System.out.println("timeout:" + response.isTimedOut());
                  System.out.println("total:" + hits.getTotalHits());
                  System.out.println("MaxScore:" + hits.getMaxScore());
                  System.out.println("hits========>>");
                  for (SearchHit hit : hits) {
                      //輸出每條查詢的結果信息
                      System.out.println(hit.getSourceAsString());
                  }
                  System.out.println("<<========");
              });
          }
      
      }

      輸出如下:

       

      3、條件查詢

      import com.lun.elasticsearch.hello.ConnectElasticsearch;
      import com.lun.elasticsearch.hello.ElasticsearchTask;
      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.sort.SortOrder;
      
      public class QueryDoc {
          
          public static final ElasticsearchTask SEARCH_BY_CONDITION = client -> {
              // 創建搜索請求對象
              SearchRequest request = new SearchRequest();
              request.indices("user");
              // 構建查詢的請求體
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              sourceBuilder.query(QueryBuilders.termQuery("age", "30"));
              request.source(sourceBuilder);
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              // 查詢匹配
              SearchHits hits = response.getHits();
              System.out.println("took:" + response.getTook());
              System.out.println("timeout:" + response.isTimedOut());
              System.out.println("total:" + hits.getTotalHits());
              System.out.println("MaxScore:" + hits.getMaxScore());
              System.out.println("hits========>>");
              for (SearchHit hit : hits) {
                  //輸出每條查詢的結果信息
                  System.out.println(hit.getSourceAsString());
              }
              System.out.println("<<========");
          };
          
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_BY_CONDITION);
          }
      }

      輸出如下:

       

      4、分頁查詢

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.sort.SortOrder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_BY_PAGING = client -> {
              // 創建搜索請求對象
              SearchRequest request = new SearchRequest();
              request.indices("user");
              // 構建查詢的請求體
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              sourceBuilder.query(QueryBuilders.matchAllQuery());
              // 分頁查詢
              // 當前頁其實索引(第一條數據的順序號), from
              sourceBuilder.from(0);
      
              // 每頁顯示多少條 size
              sourceBuilder.size(2);
              request.source(sourceBuilder);
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              // 查詢匹配
              SearchHits hits = response.getHits();
              System.out.println("took:" + response.getTook());
              System.out.println("timeout:" + response.isTimedOut());
              System.out.println("total:" + hits.getTotalHits());
              System.out.println("MaxScore:" + hits.getMaxScore());
              System.out.println("hits========>>");
              for (SearchHit hit : hits) {
                  //輸出每條查詢的結果信息
                  System.out.println(hit.getSourceAsString());
              }
              System.out.println("<<========");
          };
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_BY_PAGING);
          }
      }

      輸出如下:

       

      5、查詢排序

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.sort.SortOrder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_WITH_ORDER = client -> {
              // 創建搜索請求對象
              SearchRequest request = new SearchRequest();
              request.indices("user");
      
              // 構建查詢的請求體
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              sourceBuilder.query(QueryBuilders.matchAllQuery());
              // 排序
              sourceBuilder.sort("age", SortOrder.ASC);
              request.source(sourceBuilder);
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              // 查詢匹配
              SearchHits hits = response.getHits();
              System.out.println("took:" + response.getTook());
              System.out.println("timeout:" + response.isTimedOut());
              System.out.println("total:" + hits.getTotalHits());
              System.out.println("MaxScore:" + hits.getMaxScore());
              System.out.println("hits========>>");
              for (SearchHit hit : hits) {
                  //輸出每條查詢的結果信息
                  System.out.println(hit.getSourceAsString());
              }
              System.out.println("<<========");
          };
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_WITH_ORDER);
          }
      }

      輸出如下:

       

      6、組合查詢

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.BoolQueryBuilder;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.sort.SortOrder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_BY_BOOL_CONDITION = client -> {
              // 創建搜索請求對象
              SearchRequest request = new SearchRequest();
              request.indices("user");
              // 構建查詢的請求體
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
              // 必須包含
              boolQueryBuilder.must(QueryBuilders.matchQuery("age", "30"));
              // 一定不含
              boolQueryBuilder.mustNot(QueryBuilders.matchQuery("name", "zhangsan"));
              // 可能包含
              boolQueryBuilder.should(QueryBuilders.matchQuery("sex", "男"));
              sourceBuilder.query(boolQueryBuilder);
              request.source(sourceBuilder);
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              // 查詢匹配
              SearchHits hits = response.getHits();
              System.out.println("took:" + response.getTook());
              System.out.println("timeout:" + response.isTimedOut());
              System.out.println("total:" + hits.getTotalHits());
              System.out.println("MaxScore:" + hits.getMaxScore());
              System.out.println("hits========>>");
              for (SearchHit hit : hits) {
                  //輸出每條查詢的結果信息
                  System.out.println(hit.getSourceAsString());
              }
              System.out.println("<<========");
      
          };
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_BY_BOOL_CONDITION);
          }
      }

      輸出如下:

       

      7、范圍查詢

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.BoolQueryBuilder;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.index.query.RangeQueryBuilder;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.sort.SortOrder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_BY_RANGE = client -> {
              // 創建搜索請求對象
              SearchRequest request = new SearchRequest();
              request.indices("user");
              // 構建查詢的請求體
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("age");
              // 大于等于
              //rangeQuery.gte("30");
              // 小于等于
              rangeQuery.lte("40");
              sourceBuilder.query(rangeQuery);
              request.source(sourceBuilder);
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              // 查詢匹配
              SearchHits hits = response.getHits();
              System.out.println("took:" + response.getTook());
              System.out.println("timeout:" + response.isTimedOut());
              System.out.println("total:" + hits.getTotalHits());
              System.out.println("MaxScore:" + hits.getMaxScore());
              System.out.println("hits========>>");
              for (SearchHit hit : hits) {
                  //輸出每條查詢的結果信息
                  System.out.println(hit.getSourceAsString());
              }
              System.out.println("<<========");
          };
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_BY_RANGE);
          }
      }

      輸出如下:

       

      8、模糊查詢(Fuzzy相似單詞)

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.common.unit.Fuzziness;
      import org.elasticsearch.index.query.BoolQueryBuilder;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.index.query.RangeQueryBuilder;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.sort.SortOrder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_BY_FUZZY_CONDITION = client -> {
              // 創建搜索請求對象
              SearchRequest request = new SearchRequest();
              request.indices("user");
              // 構建查詢的請求體
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              sourceBuilder.query(QueryBuilders.fuzzyQuery("name","wangwu").fuzziness(Fuzziness.ONE));
              request.source(sourceBuilder);
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              // 查詢匹配
              SearchHits hits = response.getHits();
              System.out.println("took:" + response.getTook());
              System.out.println("timeout:" + response.isTimedOut());
              System.out.println("total:" + hits.getTotalHits());
              System.out.println("MaxScore:" + hits.getMaxScore());
              System.out.println("hits========>>");
              for (SearchHit hit : hits) {
                  //輸出每條查詢的結果信息
                  System.out.println(hit.getSourceAsString());
              }
              System.out.println("<<========");
          };
      
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_BY_FUZZY_CONDITION);
          }
      }

      輸出如下:

       

      8、高亮查詢

      package org.example;
      
      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.index.query.QueryBuilders;
      import org.elasticsearch.index.query.TermsQueryBuilder;
      import org.elasticsearch.search.SearchHit;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
      import org.elasticsearch.search.fetch.subphase.highlight.HighlightField;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      import java.util.Map;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_WITH_HIGHLIGHT = client -> {
              // 高亮查詢
              SearchRequest request = new SearchRequest().indices("user");
              //2.創建查詢請求體構建器
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              //構建查詢方式:高亮查詢
              TermsQueryBuilder termsQueryBuilder =
                      QueryBuilders.termsQuery("name","zhangsan");
              //設置查詢方式
              sourceBuilder.query(termsQueryBuilder);
              //構建高亮字段
              HighlightBuilder highlightBuilder = new HighlightBuilder();
              highlightBuilder.preTags("<font color='red'>");//設置標簽前綴
              highlightBuilder.postTags("</font>");//設置標簽后綴
              highlightBuilder.field("name");//設置高亮字段
              //設置高亮構建對象
              sourceBuilder.highlighter(highlightBuilder);
              //設置請求體
              request.source(sourceBuilder);
              //3.客戶端發送請求,獲取響應對象
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              //4.打印響應結果
              SearchHits hits = response.getHits();
              System.out.println("took::"+response.getTook());
              System.out.println("time_out::"+response.isTimedOut());
              System.out.println("total::"+hits.getTotalHits());
              System.out.println("max_score::"+hits.getMaxScore());
              System.out.println("hits::::>>");
              for (SearchHit hit : hits) {
                  String sourceAsString = hit.getSourceAsString();
                  System.out.println(sourceAsString);
                  //打印高亮結果
                  Map<String, HighlightField> highlightFields = hit.getHighlightFields();
                  System.out.println(highlightFields);
              }
              System.out.println("<<::::");
          };
      
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_WITH_HIGHLIGHT);
          }
      }

      輸出如下:

       

      9、聚合查詢

      9.1、查詢最大值

      package org.example;
      
      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.aggregations.AggregationBuilders;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_WITH_MAX = client -> {
              // 高亮查詢
              SearchRequest request = new SearchRequest().indices("user");
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              sourceBuilder.aggregation(AggregationBuilders.max("maxAge").field("age"));
              //設置請求體
              request.source(sourceBuilder);
              //3.客戶端發送請求,獲取響應對象
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              //4.打印響應結果
              SearchHits hits = response.getHits();
              System.out.println(response);
          };
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_WITH_MAX);
          }
      }

      輸出如下:

       

      9.2、分組求數量

      import org.elasticsearch.action.search.SearchRequest;
      import org.elasticsearch.action.search.SearchResponse;
      import org.elasticsearch.client.RequestOptions;
      import org.elasticsearch.search.SearchHits;
      import org.elasticsearch.search.aggregations.AggregationBuilders;
      import org.elasticsearch.search.builder.SearchSourceBuilder;
      import org.util.ConnectElasticsearch;
      import org.util.ElasticsearchTask;
      
      public class QueryDoc {
      
          public static final ElasticsearchTask SEARCH_WITH_GROUP = client -> {
              SearchRequest request = new SearchRequest().indices("user");
              SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
              sourceBuilder.aggregation(AggregationBuilders.terms("age_groupby").field("age"));
              //設置請求體
              request.source(sourceBuilder);
              //3.客戶端發送請求,獲取響應對象
              SearchResponse response = client.search(request, RequestOptions.DEFAULT);
              //4.打印響應結果
              SearchHits hits = response.getHits();
              System.out.println(response);
          };
      
          public static void main(String[] args) {
              ConnectElasticsearch.connect(SEARCH_WITH_GROUP);
          }
      }

      輸出如下:

       

      posted @ 2024-04-17 19:35  wenxuehai  閱讀(513)  評論(0)    收藏  舉報
      //右下角添加目錄
      主站蜘蛛池模板: 久久毛片少妇高潮| 狠狠综合久久久久综| 99久久久无码国产精品免费| 高清无打码一区二区三区| 国产午夜精品无码一区二区| 国产中文字幕精品在线| 日韩人妻无码精品久久| 亚洲精品国产自在现线最新| 欧美国产综合视频| 丁香婷婷色综合激情五月| 国产精品污一区二区三区| 久久综合精品国产一区二区三区无| 黑人av无码一区| 亚洲线精品一区二区三区| 国产免费久久精品44| 综合久久婷婷综合久久| 精品国产午夜福利理论片| 久久天天躁夜夜躁一区| 国产四虎永久免费观看| 国产av丝袜旗袍无码网站| 91久久精品美女高潮不断| 久久精品无码免费不卡| 性xxxx欧美老妇胖老太性多毛 | 国产乱码精品一区二区麻豆| 国产对白老熟女正在播放| 深夜视频国产在线观看| 国产精品乱码久久久久久小说| 西西人体44WWW高清大胆| 成人精品日韩专区在线观看| 亚洲区综合区小说区激情区| 产综合无码一区| 精品久久人人妻人人做精品| 亚洲精选av一区二区| 亚洲一本二区偷拍精品| 国产精品中文字幕二区| 国产精品亚洲mnbav网站| 性色a∨精品高清在线观看| 国产精品一二三区蜜臀av| 乱子伦视频在线看| 成人国产一区二区三区精品 | 一区二区三区四区自拍偷拍|