Elasticsearch 極簡入門
1. 單機部署
考慮到阿里雲 Elasticsearch 使用 6.7.X 版本,本小節我們基於 6.7.2 版本進行安裝部署。
前置準備:
1、安裝 JDK 。
2、修改 /etc/security/limits.conf
,在此配置中增加以下內容。
如果伺服器已經配置好,可以不用重複配置。需要在 Root 下執行。
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
- 修改完成後同時使用命令修改配置:
$ ulimit -n 65536
$ ulimit -n
65536
這些配置主要為檔案系統描述符及相關的配置,具體的配置可以根據自己的系統配置調大或調小。
3、修改 /etc/sysctl.conf
,增加如下內容:
如果伺服器已經配置好,可以不用重複配置。需要在 Root 下執行。
vm.max_map_count=655360
- 修改完成後,執行
sysctl -p
命令,使配置生效。
下載:
# 建立目錄
$ mkdir -p /work/programs/elasticsearch
$ cd /work/programs/elasticsearch
# 下載
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz
編輯配置:
$ vi config/elasticsearch.yml
修改配置項如下:
network.host: 0.0.0.0
:實現內網可訪問。
啟動:
注意,需要使用非 Root 賬號啟動。
# 解壓
$ tar -zxvf elasticsearch-6.7.2.tar.gz
$ cd elasticsearch-6.7.2
# 啟動。通過 -d 引數,表示後臺執行。
$ bin/elasticsearch -d
可以通過 logs/elasticsearch.log
日誌,檢視啟動是否成功。
測試:
訪問 http://伺服器 IP:9200
後,成功返回如下 JSON 串,表示成功。
{
"name" : "eog-CRt",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "w4lst9oJRT2uOROMBxYqpg",
"version" : {
"number" : "6.7.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "56c6e48",
"build_date" : "2019-04-29T09:05:50.290371Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
2. 安裝外掛
我們以安裝 elasticsearch-analysis-ik 外掛為示例。
本機已經有了 6.5.0 版本,所以本小節我們基於 6.5.0 版本進行安裝外掛。
下載:
在 https://github.com/medcl/elasticsearch-analysis-ik/releases 中,提供了各個 elasticsearch-analysis-ik 外掛版本。要注意,一定和 Elasticsearch 版本一致。例如說,Elasticsearch 版本是 6.5.0 ,所以需要使用 elasticsearch-analysis-ik-v6.5.0 。
# 下載
$ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip
解壓:
# 需要解壓到 plugins/ik/ 目錄下
$ unzip elasticsearch-analysis-ik-6.5.0.zip -d plugins/ik/
重啟:
# 查詢 ES 程式,並關閉它
$ ps -ef | grep elastic
$ kill 2382 # 假設我們找到的 ES 程式號為 2382 。
# 啟動 ES 程式
$ bin/elasticsearch -d
測試:
IK 分詞器提供了 2 種分詞模式:
- ik_max_word :IK 最大化分詞,會將文字做最細粒度的拆分。
- ik_smart :IK 智慧分詞,會做最粗粒度的拆分。
我們將 "百事可樂"
進行分詞,看看他們之間的差異。
# ik_max_word 模式
$ curl -X POST \
http://localhost:9200/_analyze \
-H 'content-type: application/json' \
-d '{
"analyzer": "ik_max_word",
"text": "百事可樂"
}'
{"tokens":[{"token":"百事可樂","start_offset":0,"end_offset":4,"type":"CN_WORD","position":0},{"token":"百事","start_offset":0,"end_offset":2,"type":"CN_WORD","position":1},{"token":"百","start_offset":0,"end_offset":1,"type":"TYPE_CNUM","position":2},{"token":"事","start_offset":1,"end_offset":2,"type":"CN_CHAR","position":3},{"token":"可樂","start_offset":2,"end_offset":4,"type":"CN_WORD","position":4}]}
# ik_smart 模式
$ curl -X POST \
http://localhost:9200/_analyze \
-H 'content-type: application/json' \
-d '{
"analyzer": "ik_smart",
"text": "百事可樂"
}'
{"tokens":[{"token":"百事可樂","start_offset":0,"end_offset":4,"type":"CN_WORD","position":0}]}
- 很明顯,ik_max_word 比 ik_smart 分出了更多的詞。
3. Elasticsearch Head
我們可以安裝 Chrome 外掛 Elasticsearch Head ,可以檢視 Elasticsearch 的叢集概要、索引、資料。如下圖所示:
相關文章
- ElasticSearch極簡入門總結Elasticsearch
- ElasticSearch 入門簡介Elasticsearch
- ElasticSearch入門簡介Elasticsearch
- 【小入門】react極簡入門React
- Dart 語言極簡入門Dart
- .Net Core in Docker極簡入門(下篇)Docker
- .Net Core in Docker極簡入門(上篇)Docker
- Docker與Dockerfile極簡入門文件Docker
- Nodejs:UDP極簡入門例子NodeJSUDP
- ElasticSearch 入門Elasticsearch
- 極簡 Node.js 入門 - 2.2 事件Node.js事件
- Elasticsearch入門教程Elasticsearch
- Elasticsearch 入門使用Elasticsearch
- elasticsearch 入門篇Elasticsearch
- SpringBoot系列之Elasticsearch極速入門與實際教程Spring BootElasticsearch
- 極簡 Node.js 入門 - 3.3 檔案寫入Node.js
- Spring IOC/AOP原理極簡概念入門Spring
- Elasticsearch核心技術(二):Elasticsearch入門Elasticsearch
- Elasticsearch 基礎入門Elasticsearch
- ElasticSearch基礎入門Elasticsearch
- ElasticSearch入門檢索Elasticsearch
- Elasticsearch(windows)使用入門ElasticsearchWindows
- ElasticSearch實戰-入門Elasticsearch
- 我的Elasticsearch入門Elasticsearch
- 極簡 Node.js 入門 - 3.4 資料夾寫入Node.js
- 極簡 Node.js 入門 - 2.4 定時器Node.js定時器
- 極簡 Node.js 入門 - 1.2 模組系統Node.js
- Python 從入門到爬蟲極簡教程Python爬蟲
- 極簡 Node.js 入門 - 4.3 可讀流Node.js
- VSCode編輯器極簡使用入門VSCode
- Docker極簡入門:使用Docker執行Java程式DockerJava
- 極簡 Node.js 入門 - 4.5 雙工流Node.js
- 極簡 Node.js 入門 - 5.2 url & querystringNode.js
- 極簡 Node.js 入門 - 4.4 可寫流Node.js
- 極速匯入elasticsearch測試資料Elasticsearch
- Elasticsearch(1):基礎入門Elasticsearch
- 極簡 Node.js 入門 - 3.2 檔案讀取Node.js
- Mybatis極速入門MyBatis