Skip to content

环境搭建

docker部署

bash
# 基于docker部署es7.8.0
mkdir -p /root/es/plugins /root/es/data /root/es/config && touch /root/es/config/elasticsearch.yml && chmod 777 /root/es/**
docker run -d --name es -p 9200:9200 -p 9300:9300 \
-v /root/es/data:/usr/share/elasticsearch/data \
-v /root/es/plugins:/usr/share/elasticsearch/plugins \
-v /root/es/conig/elasticsearch.yml:/usr/share/elasticsearch/conig/elasticsearch.yml \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
docker.io/library/elasticsearch:7.8.0

配置分词器

bash
# 配置分词器
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip \
&& mkdir -p ik/ && unzip -od ik/ elasticsearch-analysis-ik-7.8.0.zip \
&& docker cp ik es:/usr/share/elasticsearch/plugins/ \
&& docker restart es

docker es是什么版本就使用什么版本的ik分词器,具体文档参考elasticsearch-analysis-ik

http
# 分词器验证
PUT /index
PUT /index/_mapping
{"properties": {"content": {"type": "text", "analyzer": "ik_max_word","search_analyzer":"ik_smart"}}}
GET /index/_mapping
# 查看指定索引下的分词结果
POST /{index}/_analyze
{
	"text": "用来验证分词结果",
	"analyzer": "ik_max_word"
}

常见分词器

分词器效果
standard默认的分词器,会将大小转小写,按照单词分词。
ik中文分词器,支持自定义词库。
simple会将大写转小写,按照非字母切分,符号过滤
whitespace按照空格分词,不会转小写。
custom自定义分词器

kibana

bash
echo "server.name: kibana\nserver.host: "0"\nelasticsearch.hosts: [ "http://{esIp}:{esPort}" ]\nxpack.monitoring.ui.container.elasticsearch.enabled: true" > /root/kibana.yml
docker run -d --name=kibana --restart=always -p 5601:5601 \
  -v /root/kibana.yml:/usr/share/kibana/config/kibana.yml \
  docker.elastic.co/kibana/kibana:7.8.0
  1. ES的地址要写ip地址,不要写localhost。kibana的版本与ES的版本保持一致。