elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍下两者的用法,其实都差不多的,先安装插件,命令行:
安装ik插件:
plugin -install medcl/elasticsearch-analysis-ik/1.1.0
下载ik相关配置词典文件到config目录
cd config
wget http://github.com/downloads/medcl/elasticsearch-analysis-ik/ik.zip --no-check-certificate
unzip ik.zip
rm ik.zip
安装mmseg插件:
bin/plugin -install medcl/elasticsearch-analysis-mmseg/1.1.0
下载相关配置词典文件到config目录
cd config
wget http://github.com/downloads/medcl/elasticsearch-analysis-mmseg/mmseg.zip --no-check-certificate
unzip mmseg.zip
rm mmseg.zip
分词配置
ik分词配置,在elasticsearch.yml文件中加上
index:
analysis:
analyzer:
ik:
alias: [ik_analyzer]
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
或
index.analysis.analyzer.ik.type : “ik”
这两句的意义相同
mmseg分词配置,也是在在elasticsearch.yml文件中
index:
analysis:
analyzer:
mmseg:
alias: [news_analyzer, mmseg_analyzer]
type: org.elasticsearch.index.analysis.MMsegAnalyzerProvider
或
index.analysis.analyzer.default.type : "mmseg"
mmseg分词还有些更加个性化的参数设置如下
index:
analysis:
tokenizer:
mmseg_maxword:
type: mmseg
seg_type: "max_word"
mmseg_complex:
type: mmseg
seg_type: "complex"
mmseg_simple:
type: mmseg
seg_type: "simple"
这样配置完后插件安装完成,启动es就会加载插件。
定义mapping
在添加索引的mapping时就可以这样定义分词器
{
"page":{
"properties":{
"title":{
"type":"string",
"indexAnalyzer":"ik",
"searchAnalyzer":"ik"
},
"content":{
"type":"string",
"indexAnalyzer":"ik",
"searchAnalyzer":"ik"
}
}
}
}
indexAnalyzer为索引时使用的分词器,searchAnalyzer为搜索时使用的分词器。
java mapping代码如下:
XContentBuilder content = XContentFactory.jsonBuilder().startObject()
.startObject("page")
.startObject("properties")
.startObject("title")
.field("type", "string")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.endObject()
.startObject("code")
.field("type", "string")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.endObject()
.endObject()
.endObject()
.endObject()
定义完后操作索引就会以指定的分词器来进行分词。
附:
ik分词插件项目地址:https://github.com/medcl/elasticsearch-analysis-ik
mmseg分词插件项目地址:https://github.com/medcl/elasticsearch-analysis-mmseg
如果觉得配置麻烦,也可以下载个配置好的es版本,地址如下:https://github.com/medcl/elasticsearch-rtf
本文地址:http://blog.csdn.net/laigood12345/article/details/7795115
分享到:
相关推荐
分布式搜索elasticsearch中文分词集成 5 分布式搜索elasticsearch配置文件详解 8 分布式搜索elasticsearch安装步骤详解 12 分布式搜索elasticsearch高级配置之(一)--- 分片分布规则设置 13 分布式搜索elastic...
分布式搜索elasticsearch java API 之(一)--- 与集群交互 2 分布式搜索elasticsearch java API 之(二)--- put Mapping定义索引字段属性 3 分布式搜索elasticsearch java API 之(三)--- 索引数据 6 分布式搜索...
分布式搜索引擎ElasticSearch思维导图,ES思维带图。分布式搜索引擎ElasticSearch思维导图,ES思维带图。分布式搜索引擎ElasticSearch思维导图,ES思维带图。分布式搜索引擎ElasticSearch思维导图,ES思维带图。...
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
自定义elasticsearch分词插件,在网上找了一个空格分词的实现,主要看思路,方便大家写自己的分词插件
elasticsearch中文分词插件,解压至ES安装目录,如D:\works\elasticsearch-6.4.0\plugins\ik,注意,不用修改elasticsearch.yml,就可以直接使用了。
elasticsearch ik 分词器 zip elasticsearch ik 分词器 zip elasticsearch ik 分词器 zip elasticsearch ik 分词器 zip elasticsearch ik 分词器 zip elasticsearch ik 分词器 zip elasticsearch ik 分词器 zip ...
Elasticsearch电商平台中文分词词库
Elasticsearch 7.6.2 已集成ik分词器 解压后运行bin目录下,elasticsearch.bat文件
分享一套完整版视频课程——分布式搜索引擎Elasticsearch开发实战基础篇 (ElasticSearch、ELK、搜索引擎、Lucene),本教程旨在带领大家进入搜索引擎领域,从无到有,深入浅出的讲解了什么是搜索引擎,搜索引擎的...
https://github.com/medcl/elasticsearch-analysis-ik elasticsearch 中文分词器
elasticsearch-analysis-pinyin-7.4.0 es拼音分词器7.4.0
elasticsearch-7.17.6及对应版本IK分词 适合人群:elasticsearch初学者 Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elastic...
IK中文分词器在Elasticsearch上的使用。原生IK中文分词是从文件系统中读取词典,es-ik本身可扩展成从不同的源读取词典。目前提供从sqlite3数据库中读取。es-ik-plugin-sqlite3使用方法: 1. 在elasticsearch.yml中...
集成Redis缓存、消息队列(RabbitMq、RocketMQ)、分布式搜索ElasticSearch 个人花大量时间整理出的实战资料,内容丰富,文档也很详细。无论做毕业设计还是用于学习技能,或工作中当做参考资料,都能发挥重要作用 亲们...
elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个主要特点: 中文分词:elasticsearch-analysis-ik 是基于...
lasticsearch整合分词、创建索引、搜索例子,elasticsearch版本为1.0,索引数据从数据表中动态读取生成,有关键字高亮效果,查询分页 1 在dababase目录中导致相关的数据库文件,修改DBCOperation java文件数据库连接...
elasticsearch ik 分词 版本6.1.2,github网速不稳定,
牛客Java高级工程师 第6章 Elasticsearch,分布式搜索引擎\牛客Java高级工程师-第六章 Elasticsearch,分布式搜索引擎 .pdf 牛客Java高级工程师 第6章 Elasticsearch,分布式搜索引擎\第六章素材和源码\community-...