ElasticSearch集群API操作

2021-10-08 13:52:17 字數 3755 閱讀 4266

查詢首先,pom需要匯入的包如下:

org.elasticsearch<

/groupid>

elasticsearch<

/artifactid>

6.0.0

<

/version>

<

/dependency>

org.elasticsearch.client<

/groupid>

transport<

/artifactid>

6.0.0

<

/version>

<

/dependency>

org.apache.logging.log4j<

/groupid>

log4j-to-slf4j<

/artifactid>

2.12

.1<

/version>

<

/dependency>

org.slf4j<

/groupid>

slf4j-api<

/artifactid>

1.7.30

<

/version>

<

/dependency>

org.slf4j<

/groupid>

slf4j-******<

/artifactid>

1.7.5

<

/version>

<

/dependency>

log4j<

/groupid>

log4j<

/artifactid>

1.2.17

<

/version>

<

/dependency>

com.fasterxml.jackson.core<

/groupid>

jackson-databind<

/artifactid>

2.10

.1<

/version>

<

/dependency>

com.fasterxml.jackson.core<

/groupid>

jackson-annotations<

/artifactid>

2.10

.1<

/version>

<

/dependency>

com.fasterxml.jackson.core<

/groupid>

jackson-core<

/artifactid>

2.10

.1<

/version>

<

/dependency>

因為以下測試方法多,而每一次都需要進行client客戶端的建立以及關閉,繁瑣,因此為了簡化**。單獨提出來

public

static prebuilttransportclient client;

@before

public

void

init()

throws exception

@after

public

void

close()

這樣在執行某乙個方法的時候,都會先執行before的方法,再執行該方法,最後在執行after方法。

@test

public

void

testclustercreateindex()

throws exception

@test

public

void()

throws exception

@test

public

void

testinsertdocument()

throws exception

比如需要把article這個物件的各個屬性插入到es當中,首先要建立乙個物件

第一步:建立article類:

public

class

article

public

void

setid

(int id)

public string gettitle()

public

void

settitle

(string title)

public

long

getcontent()

public

void

setcontent

(long content)

}

第二步:

@test

public

void

testinsertdocument2()

throws exception

寫乙個查詢的方法:querybuilder為傳入的引數

public

void

search

(querybuilder querybuilder)

}

@test

public

void

testsearchbyid()

throws exception

@test

public

void

testsearchbyterm()

throws exception

@test

public

void

teststringquery()

throws exception

public

void

search

(querybuilder querybuilder, string highlightfield)

}@test

public

void

testqueryhighlight()

throws exception

結果:理論上是可以的,只是idea顯示的問題,如果放在頁面裡,效果應該是輸出的字段是紅色的。

分頁查詢只需要新增2個引數即可,在client.get()之前新增。

例如:

searchresponse response = client.

preparesearch

("cluster").

settypes

("test-type").

setquery

(querybuilder)

// 設定分頁資訊

.setfrom(0

).setsize(3

).get(

);

構建elasticsearch集群

初始化系統環境 在 etc security limits.conf 增加如下兩行 elasticsearch soft nofile 4096 elasticsearch hard nofile 65536 curl o elasticsearch 解壓軟體包 tar xvf elasticsea...

Elasticsearch集群搭建

1 主節點 儲存資料資訊 meta data 元資料 描述資料的資料,客戶端通過主節點獲取真正的資料位置,到資料節點datanode獲取資料分片 2 資料節點 只負責資料的讀和寫 3 負載均衡節點 當主節點連線的客戶端過多,可以引入負載均衡節點 分擔併發,既不是主節點,也不是資料節點 搭建另外兩台e...

Elasticsearch集群搭建

1 分發 scp 2.修改每一台機器的配置檔案 a 集群的名字 cluster.name my es b 節點名字 node.name node 1 c es儲存資料的路徑 path.data home zpark esdata data d es生成log資訊的路徑 path.logs home ...