说明:本篇文章讲述elasticsearch分词器插件的安装,热词库停止词库的拓展,文章后面提到elasticsearch ,都是以es简称。

以下分词器的安装以ik分词器和pinyin分词器为例说明,使用的操作系统是Linux,使用的分词器器版本是6.5.4版本,对应的es版本也是6.5.4(写这篇文章时对应最新es是7.2版本),这里需要强调的是分词器插件和es版本一定要一致,否则容易导致问题,比如,

我的pinyin分词器最早使用的是6.5.2,觉得与es版本相差不远,应该能支持,实际安装后,因为pinyin分词器版本问题导致es启动失败。

1、ik分词器的安装(Linux)

下载6.5.4版本的ik分词器,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip

安装:

1.1 、将分词器拉取到es安装所在服务器的es安装主目录的{ES_HOME}/plugins 目录下

1.2、解压ik分词器 unzip elasticsearch-analysis-ik-6.5.4.zip -d ik

1.3、重启es服务器

1.4、执行命令 cd {ES_HOME}/logs 切换到日志目录,tail -1000f elasticsearch.log 看下是否日志报错,没有报错说明启动正常,安装插件成功。

2、ik分词器扩展

2.1、切换到刚刚安装的ik分词器插件配置目录目录  cd {ES_HOME}/plugins/ik/config

2.2、执行ls 命令可以看到,以下文件列表:extra_main.dic  extra_single_word.dic  extra_single_word_full.dic  extra_single_word_low_freq.dic  extra_stopword.dic  IKAnalyzer.cfg.xml  main.dic  preposition.dic  quantifier.dic  stopword.dic  suffix.dic  surname.dic

2.3、以上看到的.dic结尾的 文件,是ik的一些默认词库,实际上你可以打开修改默认词库,但是需要重建索引,并且重新导入数据才会生效。

2.4、这里比较重要的文件是IKAnalyzer.cfg.xml,执行 vi IKAnalyzer.cfg.xml 打开文件,可以看到如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <entry key="remote_ext_dict">http://deploy_ip:port/myweb/myHotDic.txt</entry>
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

这里可以添加自己拓展字典,也可以远程扩展,这里结合业务逻辑拓展远程字典,这样就可以通过地址直接访问这些字典,远程拓展字典可以通过web服务来维护,配置好后,重启es,使得配置生效。

重启后, 在新增热词字段,不需要重启,但时有个问题,就是对于已经同步入库的(即历史同步的数据),新增加的热词无法生效。

3、拼音分词器安装

下载6.5.4版本的pinyini分词器,下载地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.5.4/elasticsearch-analysis-pinyin-6.5.4.zip

1.1 、将分词器拉取到es安装所在服务器的es安装主目录的{ES_HOME}/plugins 目录下

1.2、解压ik分词器 unzip elasticsearch-analysis-pinyin-6.5.4.zip -d pinyin

1.3、重启es服务器

1.4、执行命令 cd {ES_HOME}/logs 切换到日志目录,tail -1000f elasticsearch.log 看下是否日志报错,没有报错说明启动正常,安装插件成功。

结语:分词器虽好,但是了解一些分词器特定是必要,比如,ik分词器将"普通高中"分隔为一个词,这样如果搜索内容中包含这个,搜索"高中"这个词是搜索不到的,但是如果,内容里面包含”普通的高中“,那么搜索”高中“就可以搜索到这条内容。

另外,分词器拓展热词库在web服务里面维护终究需要人肉去做的,如果能够在搜索过程中自动提取热词并且拓展ik不存在的,而又需要的热词就完美了

相关文章:使用logstash同步mysql数据到elasticsearch

技术合作:

qq:281414283

微信:so-so-life

转载于:https://www.cnblogs.com/javato/p/11150653.html

ik与拼音分词器,拓展热词/停止词库相关推荐

  1. ik分词器的热词更新_ik与拼音分词器,拓展热词/停止词库

    说明:本篇文章讲述elasticsearch分词器插件的安装,热词库停止词库的拓展,文章后面提到elasticsearch ,都是以es简称. 以下分词器的安装以ik分词器和pinyin分词器为例说明 ...

  2. docker使用小记——docker安装es+ik分词器+拼音分词器+kibana

    一.docker安装:Windows Docker 安装 | 菜鸟教程 二.docker换镜像源 修改或新增 /etc/docker/daemon.json vi /etc/docker/daemon ...

  3. 服务器安装配置elasticsearch,kibana,IK分词器和拼音分词器,集群搭建教程

    docker安装配置elasticsearch,kibana和IK分词器 elasticsearch文章系列 前置安装docker 创建docker网络 安装Elasticsearch 运行elast ...

  4. Elasticsearch——分布式搜索引擎01(索引库、文档、RestAPI、RestClient、拼音分词器、IK分词器)

    Elasticsearch--分布式搜索引擎01(索引库.文档.RestAPI.RestClient.拼音分词器.IK分词器) 一.初识 elesticsearch 1.1 简介 1.2 倒排索引(重 ...

  5. ElasticSerach6.0.1测试拼音分词器,IK分词器,并且次测试语法

    第一步:安装ElasticSearch 6.0.1 下载ElasticSerach,下载IK分词器 由于IK和ElasticSerach已经是编译好的,不需要编译,直接在安装解压修改配置文件即可 详情 ...

  6. CentOS安装Elasticsearch_IK分词器拼音分词器_部署kibana_部署es集群

    CentOS安装Elasticsearch_IK分词器_部署kibana_部署es集群 一.部署单点es ①:创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联.这里先 ...

  7. 使用docker安装拼音分词器

    要实现根据字母做补全,就必须对文档按照拼音分词. 在GitHub上恰好有elasticsearch的拼音分词插件. 地址:https://github.com/medcl/elasticsearch- ...

  8. ElasticSerach7.6.0拼音分词器安装和使用

    第一步:安装ElasticSearch 7.6.0 由于IK和ElasticSerach已经是编译好的,不需要编译,直接在安装解压修改配置文件即可 详情请见另一篇安装博客:https://www.cn ...

  9. ElasticSearch从入门到精通--第七话(自动补全、拼音分词器、自定义分词、数据同步方案)

    ElasticSearch从入门到精通–第七话(自动补全.拼音分词器.自定义分词.数据同步方案) 使用拼音分词 可以引入elasticsearch的拼音分词插件,地址:https://github.c ...

最新文章

  1. tensorflow 之 tf.tile()函数
  2. 音视频技术开发周刊 | 194
  3. C# message简单实现窗口间信息接收与发送
  4. C#模板引擎NVelocity实战项目演练
  5. 第 7 章 本地方法栈
  6. android 自定义pickerview,Simple PickerView for Android - 这是一个高仿 IOS PickerView 控件的库...
  7. 计算机中word音乐符号在哪里找,word音乐符号怎么输入?小编告诉你
  8. 对于Ajax在MUI框架中的用运以及单 webview 模式中的下拉刷新功能探究
  9. wpl计算方法_用于计算加权路径长度(WPL)的C ++二叉树算法
  10. python植物大战僵尸辅助_Python自学入门,如何制作植物大战僵尸
  11. 人艰不拆——记在工作一个半月之后
  12. 华为鸿蒙未来生态,华为王成录:鸿蒙生态构建成功后,未来移动产业20年将属于中国...
  13. [球体积交]Girlfriend 2021牛客多校第2场 F
  14. mysql学习记录之创建数据库指定编码
  15. win7电脑怎么录制视频 电脑怎么录屏
  16. 高德地图使用-高亮省市区
  17. 达梦数据库DM8同步到KAFKA的部署方法
  18. 360免费WiFi连接不上了
  19. Vue 2 项目和插件使用
  20. 格力迷局:“30亿元持股计划”员工不买账,董明珠“一石二鸟”?

热门文章

  1. Ubuntu18.04鼠标闪烁、无线网卡不识别问题
  2. 使用caj文件转换器怎么转换成word文档
  3. JDK8-十大新特性-附demo
  4. 第七章:项目成本管理 - (7.4 控制成本)
  5. 手把手的 git 降伏指南——阿龙咸鱼经
  6. win10滑动关机代码bat_win10设置自动关机和取消自动关机的bat命令
  7. win10下载jdk18以及环境配置
  8. Verilog硬件描述语言 西安电子科技大学 蔡觉平主讲 P8 语言设计思想和和可综合特性、组合电路设计 课程笔记
  9. uni-app 父组件无法获取到子组件传来的值,为undefined;父子组件传值undefined
  10. fatal: unable to access ‘https://github.com/golang/tools.git/‘: Encountered end of file