1. 程式人生 > >[ElasticSearch]使用 java API 進行CRUD操作

[ElasticSearch]使用 java API 進行CRUD操作

本篇文章將介紹怎樣使用 java 對 ElasticSearch 進行操作。
首先需要建立一個 maven 專案,這裡不再贅述。
1.在maven 的 pom.xml檔案中需要引入以下幾個 jar 包

<dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
        <version>5.6.3</version>
</dependency
>
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId
>
log4j-core</artifactId> <version>2.9.1</version> </dependency>

2.在 resources 目錄下新增log4j2.properties檔案

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout

rootLogger.level = info
rootLogger.appenderRef.console
.ref = console

3.使用TransportClient連線 ElasticSearch。

Settings settings = Settings.builder().put("cluster.name", "leo").build();
TransportClient client = new PreBuiltTransportClient(settings). addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("***.***.***.***"), 9300));
//***.***.***.*** 表示 ip 地址,本地的話,可以使用 localhost,9300是預設的 api 訪問介面

4.建立索引
使用 json檔案來建立索引,生成 json 檔案的方式有多種,字串格式、利用 Map、利用jackson 序列化 beans 到 json、使用 ElasticSearch helps生成(我使用的方式,其它方式實現可參看官方文件)

IndexResponse response = client.prepareIndex("books", "book", "1")
                        .setSource(jsonBuilder().
                                startObject()
                                .field("book_name", "ElasticSearch入門")
                                .field("author", "張三")
                                .field("publish_time", "207-09-09")
                               .endObject())
                        .get();

5.獲取索引

GetResponse getResponse = client.prepareGet("books", "book", "1").execute().actionGet();
        System.out.println(getResponse.getSourceAsString());

6.更新索引

UpdateRequest updateRequest = new UpdateRequest();
updateRequest.index("books");
updateRequest.type("book");
updateRequest.id("1");
updateRequest.doc(jsonBuilder().startObject().field("author", "李四").endObject());
try {
    client.update(updateRequest).get();
} catch (InterruptedException e) {
    e.printStackTrace();
} catch (ExecutionException e) {
    e.printStackTrace();
}

執行後發現作者從“張三”更新為“李四”了。
7.刪除索引

DeleteResponse response = client.prepareDelete("books", "book", "1").get();

索引被刪除。

相關推薦

[ElasticSearch]使用 java API 進行CRUD操作

本篇文章將介紹怎樣使用 java 對 ElasticSearch 進行操作。 首先需要建立一個 maven 專案,這裡不再贅述。 1.在maven 的 pom.xml檔案中需要引入以下幾個 jar 包 <dependency>

Elasticsearch簡單使用系列--使用Rest API進行CRUD操作

一,es簡介 Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. (簡單說:

小白學ES 08 - 對Elasticsearch的索引進行CRUD操作

文章目錄 1 建立索引 2 檢視索引 3 修改索引 4 刪除索引 5 開啟/關閉索引 版權宣告 1 建立索引 建立語法: PUT index { "settings": { ... any setti

Elasticsearch的索引進行CRUD操作

操作示例: POST address/_close POST address/_open // 可以使用_all開啟或關閉全部索引, 也可使用萬用字元(*)配合操作 注意事項: 修改已經關閉了的索引, 將丟擲如下錯誤: { "error": { "root_cause": [

elasticsearch-java api之文件(document)各種操作

使用java api和es互動時,可以是json字串、map物件;es中內建Jackson json序列化機制,可以將自定義物件轉成string或者byte,然後傳給es-java api使用。 1、新增document: public static bool

eclipse下使用java api 進行hbase的常用的操作所需的jar包,以及如何檢視java build path下的jar是否使用

對於學習hbase的初學者來說,使用java開發的時候很多朋友直接將hbase/lib下面的所有jar包全部都匯入java build path-->libraries中,但實際上常用的操作,比如建表,刪表,使用各種濾波器進行各種查詢等操作用的jar不多,大部分匯入的

elasticsearch-java api之索引(index)的各種操作

1、建立索引: 1)簡單索引——沒有指定mapping public static boolean createIndex(String indexName) { IndicesAdminClient indicesAdminClient = transportClie

Elasticsearch java api操作

iter cti desc 導出 plain request bubuko tty net 版本: Elasticsearch 6.3.1 pom文件: <dependency> <groupId>org.ela

Elasticsearch java api 基本搜索部分詳解

ocl 全部 條件 index mod data trace 服務器ip sin 版權聲明:本文非原創文章,轉載出處:http://blog.csdn.net/molong1208/article/details/50512149 一、所使用版本的介紹 使用的是ela

ElasticSearch java api -單例模式

elastic earch request index mmu parse .get 單例 list數據 //單例模式 private static Settings getSettingInstance(){ if(settings==null){ synchron

Elasticsearch java api 常用查詢方法QueryBuilder構造舉例

舉例 div detail lang 模糊查詢 dna true builder earch 轉載:http://m.blog.csdn.net/u012546526/article/details/74184769 Elasticsearch java api 常用查詢

Elasticsearch JAVA api輕松搞定groupBy聚合

ont text 遇到 初始化 演示 是我 getprop square 遍歷 本文給出如何使用Elasticsearch的Java API做類似SQL的group by聚合。 為了簡單起見,只給出一級groupby即group by field1(而不涉及到多級,例如

Elasticsearch Java API 配置測試

int tcl 等待時間 class ket sni ted earch sample Elasticsearch1.X,2.X,5.X隨著版本的叠代,除了系統升級,Java API也做了相對較大的調整,也就是說,1.X的API在2.X以及5.X乃至未來6.X版本都不是通用

Elasticsearch Java API 查詢

tty pan prepare fault 統計 建立 rep clas ase 一.查詢的時候,需要建立一個SearchRequestBuilder,這裏面將給出對於哪一個index或者type進行查詢,並且所有的設置都可以在這裏面進行實現,例如模糊查詢,範圍查詢,前綴查

Elasticsearch Java API簡介

tex version exist () address clas mar transport private 加入依賴 我本地的Elasticsearch的版本是2.1.0,因此加入相應的maven依賴 <dependency> <groupId

Elasticsearch Java API 的使用

使用 cse padding elastic out ans itl san ont elasticsearch API 集合 Elasticsearch Java API 的使用(7)—多條件查詢Elasticsearch Java API 的使用

[ElasticSearch]Java API 之 滾動搜尋(Scroll API)

一般搜尋請求都是返回一"頁"資料,無論資料量多大都一起返回給使用者,Scroll API可以允許我們檢索大量資料(甚至全部資料)。Scroll API允許我們做一個初始階段搜尋並且持續批量從Elasticsearch里拉取結果直到沒有結果剩下。這有點像傳統資料庫裡的cursors(遊標)。 Sc

javaweb:JDBC連線MYSQL資料庫詳解,使用JDBC對資料庫進行CRUD操作以及DAO模式的介紹

  JDBC簡介: JDBC全稱為:Java DataBase Connectivity(java資料庫連線)。 SUN公司為了簡化、統一對資料庫的操作,定義了一套Java操作資料庫的規範,稱之為JDBC。 組成JDBC的2個包: 連結:https://pan

第6章 使用ZooKeeper原生Java API進行客戶端開發

使用ZooKeeper原生Java API進行客戶端開發 6-1 建立客戶端與zk服務端的連線 6-2 zk會話重連機制 6-3 同步非同步建立zk節點 6-4 修改zk節點資料 6-5 同步非同步刪除zk節點 6-6 CountDownL

Elasticsearch java api引用時,啟動報錯

肯定是引用包的問題, 我的Elasticsearch用的6.3.2, 我用的一下依賴,試了很久才正常啟動。 <dependency>             <groupId>io.netty</groupId>