文章目录
- docker安装EelasticSearch、目录权限修改、并安装IK 中文分词器
- 1、docker安装ES
- 2、docker ps发现容器没有正常启动,docker logs 容器id 查看日志发现是挂载目录的权限不足
- 3、修改目录的权限
- 4、使用docker restart 容器id重新启动刚才没有启动成功的容器
- 5、在浏览器下载es客户端插件
- 6、ik_smart和 ik_max_word中文分词器的安装
- 6.1、为什么要安装分词器?
- ik_smart
- ik_max_word
- 6.3、ik的安装
- 6.4、使用客户端查看
docker安装EelasticSearch、目录权限修改、并安装IK 中文分词器
1、docker安装ES
在你的linux系统的opt目录下创建一个es7文件夹,里面再创建一个data文件夹
docker run -d --name es7 -e ES_JAVA_POTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -v /opt/es7/data/:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 elasticsearch:7.14.0
2、docker ps发现容器没有正常启动,docker logs 容器id 查看日志发现是挂载目录的权限不足
3、修改目录的权限
进入刚才建立的es7目录,修改权限
cd /opt/es7/
chmod 777 ./data
4、使用docker restart 容器id重新启动刚才没有启动成功的容器
5、在浏览器下载es客户端插件
6、ik_smart和 ik_max_word中文分词器的安装
6.1、为什么要安装分词器?
ik_smart
和 ik_max_word
是 Elasticsearch 中 IK 分词器(IK Analyzer)的两种分词模式。IK 分词器是一款针对中文文本处理的插件,旨在提高中文文本在Elasticsearch中的索引和搜索效率。以下是这两种分词模式的详细解释:
ik_smart
ik_smart 模式,也称为“智能分词”模式,其特点是:
-
简明高效:该模式倾向于生成较少的词语切分结果,倾向于输出最具代表性和语义关联性强的词汇组合。它会尽可能减少冗余和无意义的词语片段,生成的分词结果相对精简。
-
歧义处理:ik_smart 在处理多义词、同音字、形似字等可能导致歧义的情况时,会依据上下文信息和语言模型进行判断,选择最符合语境的分词结果。
-
适用场景:由于生成的分词结果较为简洁且具有较高的语义相关性,ik_smart 模式通常适用于对查询效率要求较高或者希望减少无关结果干扰的场景。例如,在搜索引擎中进行精确匹配查询、短语查询或是在高精度推荐系统中进行关键词分析时,使用 ik_smart 可能会得到更精准的匹配效果。
ik_max_word
ik_max_word 模式,也称为“最大词数”或“细粒度分词”模式,其特点包括:
-
全面覆盖:该模式致力于生成最多的词语切分结果,力求穷尽文本中所有可能的词语组合,包括单个汉字、词组、成语以及专有名词等。因此,ik_max_word 分词结果通常包含大量的短词和长词组合。
-
无歧义处理:相较于 ik_smart,ik_max_word 模式在处理歧义时通常不做过多的语义判断,而是尽可能多地保留原始文本的所有可能切分结果。这意味着可能会包含一些在特定语境下并非最佳的分词选项。
-
适用场景:ik_max_word 模式适用于需要进行广泛匹配查询、全文检索、语料库建设、词语统计分析等对词汇覆盖率要求较高的场景。在这种情况下,全面且详细的分词结果有助于确保不会遗漏任何潜在的相关信息,尽管这可能会引入一些噪音(即无关或冗余的词语)。
总结来说,ik_smart 和 ik_max_word 主要区别在于分词结果的数量和精细化程度:
- ik_smart 侧重于生成精炼、语义相关的词汇组合,适用于对查询效率和精确度要求较高的场景。
- ik_max_word 则强调全面覆盖,尽可能输出所有可能的词语切分结果,适用于需要广泛匹配或进行详细词汇分析的场景。
实际应用中,选择哪种分词模式应根据具体的业务需求和应用场景来决定。
6.3、ik的安装
https://github.com/medcl/elasticsearch-analysis-ik/releases
#第一步 copy 插件到容器
docker cp /opt/es7/elasticsearch-analysis-ik-7.14.0.zip 容器id:/usr/share/elasticsearch#第二步进入你的容器
docker exec -it 容器id /bin/bash#第三步执行如下命令,安装插件,中间会提示 Y or N,直接写 Y ,回车即可
elasticsearch-plugin install file:\/usr/share/elasticsearch/elasticsearch-analysis-ik-7.14.0.zip#第四步退出容器
exit#第五步重启容器
docker restart 容器ID