Jieba作为分词器与Elasticsearch集成

 在github上找到相关项目,https://github.com/sing1ee/elasticsearch-jieba-plugin,支持5.X版本的es。

 在165主机上部署的是5.2.2版本的es,下载对应的elasticsearch-jieba-plugin 版本

 支持两种analyzer:

 jieba_index: 用于索引分词,分词粒度较细
 jieba_search: 用于查询分词,分词粒度较粗

1、编译部署

 安装gradle

 项目是使用gradle编译的,在自己电脑上先安装gradle。

 下载gradle安装包 https://downloads.gradle.org/distributions/gradle-4.3-all.zip

  解压到自定义目录,然后配置环境变量即可,测试安装是否成功,执行 gradle -v

  编译项目

gradle pz

部署插件

 编译成功后,拷贝文件 build/distributions/elasticsearch-jieba-plugin-5.1.2.zip到es的plugins目录下

 解压后删除压缩包

unzip elasticsearch-jieba-plugin-5.1.2.zip
rm elasticsearch-jieba-plugin-5.1.2.zip

 最后重启es生效

2、测试jieba分词器

 使用postman通过rest接口测试分词效果

jieba_search

POST  192.168.1.165:9200/jieba_index/_analyze

{
"analyzer":"jieba_search",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}

jieba_index

POST  192.168.1.165:9200/jieba_index/_analyze

{
"analyzer":"jieba_index",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}

3、测试自定义词典

自定义词典以文本形式,命名以.dict结尾,放到plugins/jieba/dic目录下,重启es生效

jieba_search

POST  192.168.1.165:9200/jieba_index/_analyze

{
"analyzer":"jieba_search",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}

jieba_index

POST  192.168.1.165:9200/jieba_index/_analyze

{
"analyzer":"jieba_index",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}

猜你喜欢

转载自blog.csdn.net/zwahut/article/details/90635621