Elasticsearch中文分词插件IK Analyer安装操作指导(本博第二篇)

本文主要是介绍Elasticsearch中文分词插件IK Analyer安装操作指导(本博第二篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自: 

Elasticsearch中文分词插件IK Analyer安装操作指导

1、安装mvn

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum -y install apache-maven


2、下载版本,注意ik版本要和elasticsearch版本配套
现场es版本2.1.0,配套ik版本为1.6.0
下载ik版本(源码)
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.6.0.zip


3、使用mvn编译安装
mvn clean
mvn compile
mvn package


4、编译完成后,把target/releases/elasticsearch-analysis-ik-1.6.0.zip文件解压
unzip target/releases/elasticsearch-analysis-ik-1.6.0.zip


把5个jar(commons-codec-1.9.jar,commons-logging-1.2.jar,elasticsearch-analysis-ik-1.6.0.jar,httpclient-4.4.1.jar,httpcore-4.4.1.jar)包复制es的lib/目录下
cp target/releases/*.jar $ES_HOME/lib/


把plugin-descriptor.properties到es的plugins/ik目录下
cp target/releases/plugin-descriptor.properties $ES_HOME/plugins/ik


5、将解压目录文件中config/ik文件夹(字典库)复制到ES安装目录config文件夹下。
cp config/ik $ES_HOME/config/


6、配置IK,在elasticsearch配置文件中添加ik分词类别
vi $ES_HOME/config/elasticsearch.yml
在文件最后添加如下:
index.analysis.analyzer.ik.type : "ik"


7、重启elasticSearch


8、验证分词安装


在浏览器中输入: http://192.168.1.100:9200/_analyze?analyzer=ik&pretty=true&text=我是中国人


查看分词效果
{
  "tokens" : [ {
    "token" : "我",
    "start_offset" : 0,
    "end_offset" : 1,
    "type" : "CN_CHAR",
    "position" : 0
  }, {
    "token" : "中国人",
    "start_offset" : 2,
    "end_offset" : 5,
    "type" : "CN_WORD",
    "position" : 1
  }, {
    "token" : "中国",
    "start_offset" : 2,
    "end_offset" : 4,
    "type" : "CN_WORD",
    "position" : 2
  }, {
    "token" : "国人",
    "start_offset" : 3,
    "end_offset" : 5,
    "type" : "CN_WORD",
    "position" : 3
  } ]
}


在浏览器中输入: http://192.168.1.100:9200/_analyze?analyzer=ik&pretty=true&text=sojson在线工具
{
  "tokens" : [ {
    "token" : "sojson",
    "start_offset" : 0,
    "end_offset" : 6,
    "type" : "ENGLISH",
    "position" : 0
  }, {
    "token" : "在线",
    "start_offset" : 6,
    "end_offset" : 8,
    "type" : "CN_WORD",
    "position" : 1
  }, {
    "token" : "工具",
    "start_offset" : 8,
    "end_offset" : 10,
    "type" : "CN_WORD",
    "position" : 2
  } ]
}


获取以上结果,表示IK安装成功。


下面为索引创建全文检索。
创建索引
curl -XPUT http://192.168.1.100:9200/index


配置映射
curl -XPOST http://192.168.1.100:9200/index/fulltext/_mapping -d'
{
    "fulltext": {
             "_all": {
            "analyzer": "ik_max_word",
            "search_analyzer": "ik_max_word",
            "term_vector": "no",
            "store": "false"
        },
        "properties": {
            "content": {
                "type": "string",
                "store": "no",
                "term_vector": "with_positions_offsets",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_max_word",
                "include_in_all": "true",
                "boost": 8
            }
        }
    }
}'


添加索引文档


curl -XPOST http://192.168.1.100:9200/index/fulltext/1 -d'
{"content":"美国留给伊拉克的是个烂摊子吗"}
'
curl -XPOST http://192.168.1.100:9200/index/fulltext/2 -d'
{"content":"公安部:各地校车将享最高路权"}
'
curl -XPOST http://192.168.1.100:9200/index/fulltext/3 -d'
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
'
curl -XPOST http://192.168.1.100:9200/index/fulltext/4 -d'
{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
'
curl -XPOST http://192.168.1.100:9200/index/fulltext/5 -d'
{"content":"陈云飞是一个好同学"}
'
curl -XPOST http://192.168.1.100:9200/index/fulltext/6 -d'
{"content":"白云飞是一个好同学"}
'


curl -XPOST http://192.168.1.100:9200/index/fulltext/7 -d'
{"content":"董元福是一个好同学"}
'


高亮查询
curl -XPOST http://192.168.1.100:9200/index/fulltext/_search  -d'
{
    "query" : { "term" : { "content" : "中国" }},
    "highlight" : {
        "pre_tags" : ["<tag1>", "<tag2>"],
        "post_tags" : ["</tag1>", "</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}
'


词库更新
在192.168.1.101上面已经建立了远程词库位置在/var/www/html下面 名字是sougou.dic
如果搜索的时候没匹配到词,可以往sougou.dic尾部添加词,添加后elasticsearch会动态加载词库。
添加方法:在 192.168.1.101机器上,使用root用户执行以下命令:
#echo "动态加载" /var/www/html/sougou.dic


更新词库后,再往elasticsearch对应的index里添加数据,会使用新词库进行分词。




常见问题
问题1:"analyzer [ik_max_word] not found for field [content]"


解决办法:在所有es节点安装IK后,问题解决。




问题2:"failed to find analyzer [ik]"
解决办法:在es配置文件elasticsearch.yml的最后添加如下后问题解决:
index.analysis.analyzer.ik.type : "ik" 

这篇关于Elasticsearch中文分词插件IK Analyer安装操作指导(本博第二篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535654

相关文章

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。