當前位置:
首頁 > 最新 > 搭建Elasticsearch 5.4分散式集群階段二

搭建Elasticsearch 5.4分散式集群階段二

五.中文分詞插件ik

elasticsearch-analysis-ik 是一款中文的分詞插件,支持自定義詞庫。

1.安裝步驟:

1、在gitpub上搜索elasticsearch-analysis,能夠看到所有elasticsearch的分詞器:

1.編譯mvn package複製並解壓縮target/releases/elasticsearch-analysis-ik-.zip到你的es目錄/plugins/ik

2.重啟elasticsearch

2.測試

執行以下命令,看是否能夠分詞

curl -XPOST "http://localhost:9200/userinfo/_analyze analyzer=ik&pretty=true&text=我是中國人"

六 基礎API1.與集群交互

通過TransportClient這個介面,我們可以不啟動節點就可以和es集群進行通信,它需要指定es集群中其中一台或多台機的ip地址和埠,例子如下:

2.Mapping定義索引欄位屬性

Mapping,就是對索引庫中索引的欄位名及其數據類型進行定義,類似於關係資料庫中表建立時要定義欄位名及其數據類型那樣,不過es的mapping比資料庫靈活很多,它可以動態添加欄位。一般不需要要指定mapping都可以,因為es會自動根據數據格式定義它的類型,如果你需要對某些欄位添加特殊屬性(如:定義使用其它分詞器、是否分詞、是否存儲等),就必須手動添加mapping。

用java api調用的代碼如下: 先創建空索引庫

3.批量添加索引

使用插件elasticsearch-reindexing

下載https://github.com/codelibs/elasticsearch-reindexing

執行命令在線安裝,$ES_HOME/bin/plugin install org.codelibs/elasticsearch-reindexing/2.1.1。elasticsearch支持批量添加或刪除索引文檔,java api裡面就是通過構造BulkRequestBuilder,然後把批量的index/delete請求添到BulkRequestBuilder裡面,執行BulkRequestBuilder。下面是個例子:

4.刪除索引數據

刪除api允許從特定索引通過id刪除json文檔。有兩種方法,一是通過id刪除,二是通過一個Query查詢條件刪除,符合這些條件的數據都會被刪除。

一、通過id刪除

下面的例子是刪除索引名為twitter,類型為tweet,id為1的文檔:

七.查詢api1,示例代碼

2.term查詢

term是代表完全匹配,即不進行分詞器分析,文檔中必須包含整個搜索的辭彙

查出的所有文檔的title都包含"印花"這個片語的辭彙。

3.Match查詢

搜索所有喜歡 「印花中國」的員工:那麼所有包含印花和中國的文檔都要被查出

4.match_phrase查詢

例如我們想要查詢同時包含印花和中國(並且是相鄰的)的員工記錄

5.multi_match查詢

允許你做 match 查詢的基礎上同時搜索title,name多個欄位

6.bool聯合查詢: must,should,must_not

must :: 查詢指定文檔一定要被包含。類似And

should :: 查詢指定文檔,有則可以為文檔相關性加分。類似or

八.分頁api取0到30條數據

九.排序api

以title進行排序

十.滾動(scroll)

search 請求返回一個單一的結果「頁」,而 scroll API 可以被用來檢索大量的結果(甚至所有的結果),就像在傳統資料庫中使用的游標 cursor。

滾動並不是為了實時的用戶響應,而是為了處理大量的數據,例如,為了使用不同的配置來重新索引一個 index 到另一個 index 中去。

使用from and size的深度分頁,比如說?size=10&from=10000是非常低效的,因為100,000排序的結果必須從每個分片上取出並重新排序最後返回10條。這個過程需要對每個請求頁重複。

scroll API 保持了哪些結果已經返回的記錄,所以能更加高效地返回排序的結果。但是,按照默認設定排序結果仍然需要代價。

一、安裝nodejs

curl -sL -o /etc/yum.repos.d/khara-nodejs.repo https://copr.fedoraproject.org/coprs/khara/nodejs/repo/epel-7/khara-nodejs-epel-7.repo

yum install -y nodejs nodejs-npm

二、安裝grunt

npm install -g grunt-cli

npm install grunt

grunt -version

Java社區

本文屬於原創,如有疑問請後台留言,如有轉載請標註原作 者,版權歸本公眾號所有。如果你喜歡我寫的文章請關注 java資源社區,歡迎大家繼續關注本公眾號的技術博文。如果您覺得本文章對你有所幫助的話,不妨點個贊,您的支持就是我堅持原創的動力。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 手集名品學習平台 的精彩文章:

搭建Elasticsearch 5.4分散式集群階段一

TAG:手集名品學習平台 |