在github上找到相关项目,https://github.com/sing1ee/elasticsearch-jieba-plugin,支持5.X版本的es。
在165主机上部署的是5.2.2版本的es,下载对应的elasticsearch-jieba-plugin 版本
支持两种analyzer:
jieba_index: 用于索引分词,分词粒度较细
jieba_search: 用于查询分词,分词粒度较粗
项目是使用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生效
使用postman通过rest接口测试分词效果
POST 192.168.1.165:9200/jieba_index/_analyze
{
"analyzer":"jieba_search",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}
POST 192.168.1.165:9200/jieba_index/_analyze
{
"analyzer":"jieba_index",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}
自定义词典以文本形式,命名以.dict结尾,放到plugins/jieba/dic目录下,重启es生效
POST 192.168.1.165:9200/jieba_index/_analyze
{
"analyzer":"jieba_search",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}
POST 192.168.1.165:9200/jieba_index/_analyze
{
"analyzer":"jieba_index",
"text":"近日,国外几名网友整理了一份自然语言处理的免费/公开数据集(包含文本数据)清单,为防止大家错过这个消息,论智暂且把清单内容搬运如下。有需要的读者可直接收藏本文,或去github点个星星以示感谢"
}