ElasticSearch 安裝與配置 (windows)


新工作需要所以開始學一下。。。

elasticsearch的概念和基本原理:

elasticsearch是一個類似於nosql數據庫的東西,基於Lucene,以json格式儲存數據,采用了倒序索引(也叫反向索引),主要用於信息抓取(我的感覺就是字符串查找),所以主要應用在搜索引擎和自然語言處理方面。

比如有30篇文章,我想找一個字符串出現的位置,普通情況我們要全文搜索,而elasticsearch在存儲時,會先把文章分詞,然后保存各個關鍵詞出現的位置。這種就是倒序索引(說實話我覺得和普通索引原理差不多,差別有點微妙)。

然后采用壓縮技術保證空間的最大利用。

 

elasticsearch的儲存方法和壓縮技術:

存了10篇文章,其中第1,3,5,9里面有“張三”這個詞出現。

es就會存入:"張三":1,3,5,9;

然后壓縮為:"張三":1010100010  (10位2進制數字,對應出現的文章id,這樣需要存的數字只有一個,比存1,3,5,9要節省很多,以此壓縮存儲空間)

上面這個就是5.0之前的壓縮方法:bitmap。

 

不難想象,這樣存儲需要的空間是線性增長的,比如你需要存6553500個文檔,那么你就需要6553500位的二進制數字存儲,那么一個字段的索引中的一個出現位置就需要接近100 * 2byte的空間來表示,所以之后進行了優化(壓縮套壓縮)

Roarding bitmaps:把上面壓縮后的數字除以65535然后保存商和余數。使得結果進一步壓縮。然后保存為100,0 兩個數字。需要空間減少了99倍。

這樣等於把數據以65535一組分成了很多組。一個索引存的是2,65534,說明這個詞在第2組的第65534篇文章中出現。

 

 

 如果數據量大於4096個值,用bit set存,如果比較少的話,就直接用2bytes存每個值。 (用java語言,就是數據多就用 Set<byte>來增加效率, 數據少就直接用 short[])。

 

系統win7 64

ES的主要儲存方式是json,所以需要能看懂json數據。

 

1. 下載

https://www.elastic.co/cn/downloads/past-releases

 

 

 

 

 

選工具和版本,然后下載(網上使用教程很多都是6.2.4,不過我這里下載的最新版本)。

 

elasticsearch本質是存儲關鍵詞和出現的位置,英語的句子中單詞是用空格和標點符號分開的,很好分詞。 I am a student。  ->  I,am,a,student

但是我們現在處理語言主要針對漢語,所以自帶的分詞器就不好用了,es會默認每個字一個詞,因此需要綁定插件。 

現在主要的中文分詞是用的IK(之前停止更新過一段時間,當時最多支持到elatsicsearc6.4.2,所以當年很多教程安裝elasticsearch的時候選擇了相對早期的6.2.4,然后那些按教程來的教程也都用的6.2.4...)。

不過KI最近貌似又開始更新了,而且更新到了2020.4.1的最新版本,所以這里我選擇下載elasticsearch的最新版本。

 

 

 下載zip包,這樣就不用安裝了-。-

然后找個文件夾解壓,完成。

 

2. 運行

運行bin文件夾下的 elasticsearch.bat   

 

 

elasticsearch的綁定端口是9200和9300,啟動后打開瀏覽器,輸入

http://127.0.0.1:9200/

可以看到json格式的elasticsearch信息,說明安裝成功

 

 

 

3. 添加IK插件

 github: https://github.com/medcl/elasticsearch-analysis-ik/releases

因為是外國服務器所以可能下載會很慢- -我是網上找了個別人下好的百度盤的

https://www.cnblogs.com/jhtian/p/12688246.html

 

下載后解壓,新建一個文件夾改名analysis-ik  (很老的版本是改名ik),然后放到elasticsearch的plugins文件夾下。

 

 

再次啟動elasticsearch, 看到日志里顯示ik加載成功(如果路徑錯了的話會閃退)。

 

 


免責聲明!

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



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