最近算是跟大數據槓上了,接連碰到動輒幾十萬過億的數據處理量,於是按照網上的教程研究了使用ELK建立全文索引查詢的方式,這裏做一下整理,方便以後使用。
環境準備
- 這裏使用Ubuntu18.04作爲服務器系統環境,去官網下載,安裝配置虛擬機即可。
- 安裝完成後進行基本的操作配置可參考另一篇關於linux安裝後操作的文章。點擊這裏查看
安裝配置
- 安裝Orecal版JDK1.8(具體操作參考上面的鏈接的文章)
- 前往官網下載elasticsearch,並上傳至服務器用戶目錄。下載地址:ELK
- 使用
sudo chmod -R 777 elasticsearch-6.3.0/
將所有文件修改爲可執行。 - 修改配置文件elastisearch.yml使elastisearch可以被遠程訪問。
- 只修改這裏是不行的,運行時會報
Ubuntu elasticsearch max virtual memory areas vm.max_map_count [65530] is too low
的錯,此時還需要,進行如下操作:參見另一篇我發過的文章點擊閱讀。 - 使用curl創建索引
curl -XPUT 'http://ip:9200/sedb'
- 安裝拼音分詞和中文分詞插件
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.3.0/elasticsearch-analysis-pinyin-6.3.0.zip
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip - 至此elasticsearch即搭建完畢,接下來安裝Kibana。
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-amd64.deb
sudo dpkg -i kibana-6.3.0-amd64.deb
修改kibana配置文件
sudo vim /etc/kibana/kibana.yml
server.port: 5601
server.host: “0.0.0.0”
elasticsearch.url: “http://localhost:9200”設置開機自動啓動
sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana- 下載logstash設置數據導入文件importdata.conf
- 執行./logstash -f importdata.conf將csv文件導入(可參考這篇文章)
一、數據導入
curl -X POST "localhost:9200/sedb/sedb/" -H 'Content-Type: application/json' -d'
{
"user": "趙六",
"title": "工程師",
"desc": "數據庫管理"
}
'
二、查詢指定索引內容
http://192.168.213.134:9200/sedb/sedb/_search
參考文章:
1. 全文搜索引擎 Elasticsearch 入門教程