安装
安装ES
- 拷贝ES配置文件。
|
|
-
相关参数解释:
-e "cluster.name=es-docker-cluster"
:设置集群名称。-e "http.host=0.0.0.0"
:监听的地址,可以外网访问。-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"
:内存大小。-e "discovery.type=single-node"
:非集群模式。-v es-data:/usr/share/elasticsearch/data
:挂载逻辑卷,绑定es的数据目录。-v es-logs:/usr/share/elasticsearch/logs
:挂载逻辑卷,绑定es的日志目录。-v es-plugins:/usr/share/elasticsearch/plugins
:挂载逻辑卷,绑定es的插件目录。--privileged
:授予逻辑卷访问权。--network es-net
:加入一个名为es-net的网络中。-p 9200:9200
:端口映射配置。
-
ES的9200端口用于数据的交互,9300端口用于集群的通信。
-
验证:浏览器输入http://localhost:9200。
安装kibana
- kibana给我们提供一个elasticsearch的可视化界面。
|
|
- 相关参数解释:
--network es-net
:加入一个名为es-net的网络中,与elasticsearch在同一个网络中。-e ELASTICSEARCH_HOSTS=http://es:9200"
:设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch。-p 5601:5601
:端口映射配置。
- docker查看启动日志看是否启动成功:docker logs -f kibana。
- 浏览器输入:http://localhost:5601。
ES安装IK分词器
在线安装
|
|
离线安装
- 查看数据卷目录:docker volume inspect es-plugins。
- 把下载的7.12.1版本包放入。重启ES。
IK分词器
- IK分词器包含两种模式:
ik_smart
:最少切分。ik_max_word
:最细切分。
- 测试两种分词。
|
|
{
"tokens": [
{
"token": "美好",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 0
},
{
"token": "的",
"start_offset": 2,
"end_offset": 3,
"type": "CN_CHAR",
"position": 1
},
{
"token": "一天",
"start_offset": 3,
"end_offset": 5,
"type": "CN_WORD",
"position": 2
},
{
"token": "从",
"start_offset": 5,
"end_offset": 6,
"type": "CN_CHAR",
"position": 3
},
{
"token": "清晨",
"start_offset": 6,
"end_offset": 8,
"type": "CN_WORD",
"position": 4
},
{
"token": "开始",
"start_offset": 8,
"end_offset": 10,
"type": "CN_WORD",
"position": 5
}
]
}
|
|
{
"tokens": [
{
"token": "美好",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 0
},
{
"token": "的",
"start_offset": 2,
"end_offset": 3,
"type": "CN_CHAR",
"position": 1
},
{
"token": "一天",
"start_offset": 3,
"end_offset": 5,
"type": "CN_WORD",
"position": 2
},
{
"token": "一",
"start_offset": 3,
"end_offset": 4,
"type": "TYPE_CNUM",
"position": 3
},
{
"token": "天",
"start_offset": 4,
"end_offset": 5,
"type": "COUNT",
"position": 4
},
{
"token": "从",
"start_offset": 5,
"end_offset": 6,
"type": "CN_CHAR",
"position": 5
},
{
"token": "清晨",
"start_offset": 6,
"end_offset": 8,
"type": "CN_WORD",
"position": 6
},
{
"token": "开始",
"start_offset": 8,
"end_offset": 10,
"type": "CN_WORD",
"position": 7
}
]
}
扩展/停用词典
- 找到 plugins/IK/config/IKAnalyzer.cfg.xml 文件,添加如下内容。
|
|
- 在 plugins/IK/config/ 目录下添加 ext.dic 和 stopword.dic 文件。重启ES。
一键部署
-
docker-compose.yml。
-
启动命令:docker-compose -p es-node up -d。
-
完整代码参看 github。https://github.com/helium-chain/ex-kibana-single-node