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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Python实现中文文本处理与分析程序的示例详解

《Python实现中文文本处理与分析程序的示例详解》在当今信息爆炸的时代,文本数据的处理与分析成为了数据科学领域的重要课题,本文将使用Python开发一款基于Python的中文文本处理与分析程序,希望... 目录一、程序概述二、主要功能解析2.1 文件操作2.2 基础分析2.3 高级分析2.4 可视化2.5

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题