es入門教程


因為項目可能會用到es保存一些非結構化的數據,並從中檢索數據。對es調研了一下

從官網:https://www.elastic.co/downloads下載,解壓即安裝。

進入解壓目錄,執行bin目錄下elasticsearch命令即啟動。啟動后,可以在終端執行命令,校驗是否啟動成功

curl localhost:9200
{
  "name" : "atntrTf",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "tf9250XhQ6ee4h7YI11anA",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

有類似以上輸出,說明es啟動成功。es是java開發的,需要安裝java運行環境。jdk或者jre

es有索引、類型、文檔這些概念。依次類似對應關系型數據庫的 數據庫、表、記錄。其實就是一個邏輯空間

創建索引命令

curl -X PUT 'localhost:9200/weather'

es提供了restful接口,-X表示http方法。具體可以了解下curl命令參數

新增一個文檔

$ curl -X PUT 'localhost:9200/accounts/person/1' -d '
{
  "user": "張三",
  "title": "工程師",
  "desc": "數據庫管理"
}' 

accounts為索引,person為type類型,1文檔id  -d后面跟提交的數據,一般為json格式

當然還有其他增刪改查等restful接口。

總結

1. es是在lucene上封裝了一層

2. es類似一個分布式存儲和檢索系統

3. 數據通過分片存放到不同的分片上,每個分片可以有0到多個副本

4. ELK為es, lagstash類似flume一個agent收集日志信息, k為kibana一個web管理界面。這三個都安裝過,沒事可以玩一下

5. es提供了java客戶端以及rest客戶端,具體有什么區別待研究

6. es客戶端有可以在集群中扮演node角色的,不存數據。也有通過客戶端直接連集群機器的,不屬於集群

7. 節點類型有三個,主節點,數據節點, 客戶端節點

 

個人感覺 doc --> 分詞(ik等分詞插件) --> 倒排  --> 檢索

 

參考:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

阮一峰的博客寫的很贊

 

es感覺還是很強大,es權威指南還沒翻譯完,開始賣了可以買一本看下,感覺寫的不錯


免責聲明!

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



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