• Elasticsearch Java Client 版本区别及起步(5.X 和6.X)


    目前ElasticSearch版本最常用的应该时5.X 和6.X,这两个版本中都存在两种客户端:

    简单总结:

    1,如果服务端是5.6以下的,选择相同版本的TransportClient,避免一些API服务端不支持

    2,如果服务端是5.6以上的,选择相同版本的RestClient

    TransportClient起步:

    5.6及之前的版本:

    // on startup
    
    Client client = TransportClient.builder().build()
            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));
    
    // on shutdown
    
    client.close();

    6.0及之后的版本

    // on startup
    
    TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
            .addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300))
            .addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));
    
    // on shutdown
    
    client.close();

    TransportClient发送搜索请求:

    SearchResponse response = client.prepareSearch("index1", "index2")
            .setTypes("type1", "type2")
            .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
            .setQuery(QueryBuilders.termQuery("multi", "test"))                 // Query
            .setPostFilter(QueryBuilders.rangeQuery("age").from(12).to(18))     // Filter
            .setFrom(0).setSize(60).setExplain(true)
            .get();

    HttpClient起步:

    //  Java Low Level REST Client
    RestClient lowLevelRestClient = RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http")).build();

    // Java High Level REST Client
    RestHighLevelClient client = new RestHighLevelClient(lowLevelRestClient);

    HttpClient发送搜索请求:

    SearchRequest searchRequest = new SearchRequest();
    searchRequest.source(sourceBuilder);
    SearchResponse searchResponse = client.search(searchRequest);

    参考:https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.2/index.html

  • 相关阅读:
    11.枚举类.md
    10. Lambda表达式.md
    9.内部类
    8.抽象类、接口和多态.md
    7.final关键字.md
    jQuery学习笔记(5)-事件与事件对象
    Log4Net学习笔记(1)-完整的例子
    SqlServer知识点-操作xml
    NHibernate常见错误汇总(0)-持续更新中
    jQuery学习笔记(4)-设置元素的属性和样式
  • 原文地址:https://www.cnblogs.com/lishaojun/p/10963657.html
Copyright © 2020-2023  润新知