elasticsearch 連接、操作記錄


github site:https://github.com/foolchild/record-elasticsearch

1.elasticsearch的版本

2.java客戶端的變遷

3.具體使用RestHighLevelClient

 

1.elasticsearch的版本

簡單說一下我使用中感受到的變化

5.x 支持多種type

6.x 只能有一種type

7.x 將去除type 沒有類型的概念了

7.X TransportClient被廢棄,只能使用restclient。

在es7中使用默認的_doc作為type,官方說在8.x版本會徹底移除type。

2.java客戶端的變遷

2.1 transportClient

關於TransportClient,elastic計划在Elasticsearch 7.0中棄用TransportClient,並在8.0中完全刪除它。這里就不過多記錄。

2.2 Rest Low Level Client

Java Low Level REST Client,低級別的REST客戶端,通過http與集群交互,用戶需自己編組請求JSON串,及解析響應JSON串。兼容所有ES版本最小Java版本要求為1.7

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>6.2.4</version>
</dependency

 

2.3 Rest High Level Client

Java High Level REST Client, 高級別的REST客戶端,基於低級別的REST客戶端,增加了編組請求JSON串、解析響應JSON串等相關api。使用的版本需要保持和ES服務端的版本一致,否則會有版本問題。(不知道以后會不會有best level 或者 highest。。。)

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>6.2.4</version>
</dependency>

 

3.具體使用RestHighLevelClient

 3.1 兼容性

  • 依賴 java1.8
  • 請使用與服務端ES版本一致的客戶端版本

3.2 連接

public class RestClient_test {
    public RestHighLevelClient getClient() {
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"),
                        new HttpHost("localhost", 9201, "http")));
        return client;
    }
}

3.3 關於操作

在項目中有相關代碼,這里偷個懶

 

 

至此,elasticsearch連接完成,后續的查詢操作內容龐大,一時講述不清,后續更新。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM