Elasticsearch Java REST高级客户端 MultiSearch Api

谁借莪1个温暖的怀抱¢ 2021-11-27 02:34 396阅读 0赞

Elasticsearch Java REST高级客户端 MultiSearch Api

版本:Elasticsearch 7.2.0

maven配置见:Elasticsearch Java REST高级客户端-DocumentApi

对人工智能感兴趣的同学,可以点击以下链接:

现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里可以跳转到教程。

https://www.cbedai.net/u014646662

使用 MultiSearch Api 在一个http请求中并行执行多个Search请求。

  1. public static void multiSearch() {
  2. var client = getClient();
  3. MultiSearchRequest msRequest = new MultiSearchRequest();
  4. SearchRequest request1 = new SearchRequest("movies");
  5. SearchSourceBuilder builder1 = new SearchSourceBuilder();
  6. builder1.query(QueryBuilders.matchQuery("title", "you"));
  7. request1.source(builder1);
  8. msRequest.add(request1);
  9. SearchRequest request2 = new SearchRequest("movies");
  10. SearchSourceBuilder builder2 = new SearchSourceBuilder();
  11. builder2.query(QueryBuilders.matchQuery("title", "life"));
  12. request2.source(builder2);
  13. msRequest.add(request2);
  14. try {
  15. MultiSearchResponse responses = client.msearch(msRequest, RequestOptions.DEFAULT);
  16. Arrays.asList(responses.getResponses()).stream()
  17. .map(item -> item.getResponse())
  18. .map(response -> response.getHits())
  19. .filter(hit -> hit != null)
  20. .forEach(hit -> hit.forEach(System.out::println));
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }finally {
  24. close(client);
  25. }
  26. }
  27. /**
  28. * 关闭客户端
  29. *
  30. * @param client
  31. */
  32. private static void close(RestHighLevelClient client) {
  33. try {
  34. client.close();
  35. } catch (IOException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. /**
  40. * 获取客户端
  41. *
  42. * @return
  43. */
  44. private static RestHighLevelClient getClient() {
  45. RestHighLevelClient client = new RestHighLevelClient(
  46. RestClient.builder(new HttpHost("elk-node01", 9200, "http"), new HttpHost("elk-node02", 9200, "http"),
  47. new HttpHost("elk-node03", 9200, "http")));
  48. return client;
  49. }

发表评论

表情:
评论列表 (有 0 条评论,396人围观)

还没有评论,来说两句吧...

相关阅读