ElasticSearch+.net 大數據處理(一)


最近需要處理過億的數據,筆者在朋友的推薦下學習了ElasticSearch,看了網上很多博客也遇到了很多問題, 所以筆者記錄一下學習和使用 ElasticSearch的過程。
ElasticSearch的概念網上很多,筆者就不在此多啰嗦了,直接進入實戰。
 
一、環境配置(僅window用戶)
 
1. ElasticSearch是基於Lucene構建的一個分布式搜索引擎, 運行需要java環境,所以要先配置java環境,安裝JDK,這里筆者使用的版本是 jdk1.8.0_144
2.我是window用戶,初學 ElasticSearch,很多配置以及安裝各種插件還需要手動編譯jar,比較復雜容易出錯,
   所以就直接使用 elasticsearch的rtf版本( https://github.com/medcl/elasticsearch-rtf ) 
   筆者在github上下載的rtf版本的es版本為 Elasticsearch 5.1.1(網上很多文章因為版本不一樣,所以一些配置和命令可能有誤,這種坑筆者已經遇到很多次了)
 
  2.1 啟動
 
這個是筆者下載的 ElasticSearch目錄結構,在控制台執行 elasticsearch.bat(如下圖)
 這樣就啟動了 Elasticsearch  ,然后在瀏覽器中輸入  http://localhost:9200/ 出現類似於下圖的信息, ElasticSearch的環境配置就ok了。
 
2.2  安裝ElasticSearch Head插件
 安裝方法一:  https://github.com/mobz/elasticsearch-head   下載插件,看文檔 Running with built in server
  安裝方法二: 直接在browser中搜索擴展程序  ElasticSearch Head  安裝即可(chrome需要翻牆)
筆者在這里直接使用第二種簡單的方式,安裝成功了 瀏覽器上多來一個小圖標 
點擊出現下圖效果, ElasticSearch Head就能使用了
 
二、ElasticSearch CRUD
 
為了方便執行crud的操作,直接在瀏覽器上安裝SENSE插件(如下圖界面)
增加
PUT /db_dbname1/tablename1/1 { "title":"我是一個title", "author":"derrick", "content":"i am a content", "xx":"yyyyyyy" } PUT /db_dbname2/person/3 { "name":"derrick", "age":18 }
 
修改(
修改就是將id置為和存在的記錄一致
、、
 
刪除
 
查詢
根據id查詢單條記錄
查詢所有庫,所有表的文檔
在指定庫指定表中查找某個字段等於某個值的文檔
 
三、中文分詞
中文分詞插件采用ik的,默認的是把每個漢字都拆成一個詞,效果不好
代碼如下:
默認標准分詞
注:有些人的文章里 直接是
GET /db_dbname1/_analyze?analyzer=standard
{
  我們是神
}
 在我用的這個版本里面,這樣寫是錯誤的
 
 IK簡單分詞
 另外還有一個
GET /db_dbname1/_analyze?analyzer=ik_max_word
{
   "text":"車身電氣系統"
}
 
顯然默認標准分詞不是我們想要的分詞,所以這里可以設置全局分詞
 
時間不早,今天先寫到這
 

 


免責聲明!

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



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