elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍下两者的用法,其实都差不多的,先安装插件,命令行:
安装ik插件:
下载ik相关配置词典文件到config目录
安装mmseg插件:
下载相关配置词典文件到config目录
分词配置
ik分词配置,在elasticsearch.yml文件中加上
或
这两句的意义相同
mmseg分词配置,也是在在elasticsearch.yml文件中
或
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代码如下:
定义完后操作索引就会以指定的分词器来进行分词。
测试分词可用调用下面api,注意indexname为索引名,随便指定一个索引就行了
http://localhost:9200/indexname/_analyze?analyzer=ik&text=测试elasticsearch分词器
附:
ik分词插件项目地址:https://github.com/medcl/elasticsearch-analysis-ik
mmseg分词插件项目地址:https://github.com/medcl/elasticsearch-analysis-mmseg
如果觉得配置麻烦,也可以下载个配置好的es版本,地址如下:https://github.com/medcl/elasticsearch-rtf
相关推荐
分布式搜索是现代大数据处理的关键技术之一,而Elasticsearch作为其中的佼佼者,因其高效、灵活和可扩展性而广泛应用于各种场景。本篇将深入探讨Elasticsearch的基础知识,涵盖其核心概念、环境搭建、配置管理以及...
Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene构建,提供了分布式、RESTful风格的搜索和分析引擎服务。在中文环境下,为了实现精确的分词和搜索,我们需要安装适合版本的分词插件,如“elastic...
IK分词器是针对Elasticsearch(ES)的一款热门中文分词插件,其全称为“Intelligent Chinese Analyzer for Elasticsearch”。它由Java编写,旨在为中文文档提供高效、准确的分词处理。版本7.10.2是IK分词器的一个...
Elasticsearch 7.12.1 是一个强大的开源全文搜索引擎,它基于 Lucene 库进行构建,提供了分布式、实时的搜索和分析引擎服务。这个版本的 Elasticsearch 针对性能和稳定性进行了优化,适用于大规模数据检索和分析场景...
**Elasticsearch分布式搜索引擎 v7.17.18** Elasticsearch是一个开源的、高度可扩展的全文搜索引擎,基于Lucene构建,旨在提供实时、分布式、容错能力强的搜索和数据分析能力。在v7.17.18版本中,Elasticsearch继续...
分布式搜索elasticsearch1.1.0版本 中文分词集成,现在不支持bin/plugin -install medcl/elasticsearch-analysis-ik/1.1.0 版本的安装,直接解压安装ik和mmseg插件,看博文
Ik分词器的集成使得ES在中文环境下的搜索性能得到显著提升,能够处理复杂的中文语境,提供更精准的搜索结果。 **文件"elasticsearch-analysis-ik-master"** 这个文件名表明它是Ik分词器的一个版本仓库,可能是从...
集成IK分词器能够使Elasticsearch更好地支持中文处理,实现精准的中文分词,从而提高搜索质量和效率。IK分词器是针对Elasticsearch的中文分词插件,由Medcl开发并维护,其全称为`elasticsearch-analysis-ik`。 **一...
Elasticsearch(简称ES)是一款强大的开源搜索引擎,基于全文检索技术,提供实时、分布式、高可扩展的数据搜索和分析能力。在中文环境下,为了实现精准的搜索和匹配,通常需要配合合适的中文分词器。在本案例中,...
标题 "基于hanlp的elasticsearch分词插件" 指的是将自然语言处理库HanLP与搜索引擎Elasticsearch相结合,开发出一个用于Elasticsearch的分词插件。这样的插件可以提升Elasticsearch在中文文本处理上的性能,使其能够...
总之,Elasticsearch 2.3.1版本的IK分词器是提高中文搜索性能的关键工具,通过与Elasticsearch的集成以及依赖库的支持,能够有效地处理中文文本,提供准确的分词结果,从而提升整体的搜索体验。
在现代的Java Web应用中,Elasticsearch作为一个强大的分布式搜索引擎,常常被用于处理大量的数据检索需求。而Spring框架则以其灵活性和全面性成为企业级开发的首选。将Elasticsearch与Spring进行集成,能够帮助...
SpringMVC作为Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)架构,而Elasticsearch则是一种分布式、RESTful风格的搜索和分析引擎,广泛应用于日志分析、实时监控、数据检索等领域。...
在构建高效的全文搜索引擎时,Elasticsearch(简称ES)是一个常用的选择,而IK分词器则是ES中针对中文处理的重要组件。本知识点将详细介绍ElasticSearch的IK分词器及其在微服务项目中的应用。 首先,Elasticsearch...
Elasticsearch是一个强大的开源搜索引擎,基于Lucene库构建,提供了分布式、实时、可扩展的数据存储和搜索能力。在本主题中,我们关注的是Elasticsearch的7.4.24版本,这是一个稳定且广泛使用的版本,它包含了各种...
这个名为"基于.netcore搜索封装ElasticSearch.zip"的压缩包,显然包含了一个针对.NET Core平台的Elasticsearch客户端库,方便开发者在.NET Core应用中集成和操作Elasticsearch。 Elasticsearch是一个开源的分布式...
Elasticsearch Analysis IK 7.14.1 是一个针对 Elasticsearch 的中文分词插件,它的主要功能是为中文文档提供高效、灵活的分词支持。这个最新版本的压缩包 "elasticsearch-analysis-ik-7.14.1.zip" 包含了必要的组件...
Elasticsearch是一个强大的开源搜索引擎,基于Lucene库构建,提供了分布式、实时、高可用的全文检索服务。在2.3.1版本中,它已经集成了两种常用的中文分词器:IK分词器和Ansj分词器,以及Head插件,这为中文文档的...
Elasticsearch 是一个开源的全文搜索引擎,基于 Lucene 库,提供分布式、实时、可扩展的数据搜索和分析能力。在6.8.0版本中,Elasticsearch 提供了强大的索引管理和查询功能,支持多种数据类型,如文本、数值、日期...
这个插件的主要功能是将Lucene的IK分词器集成到Elasticsearch中,为中文文档的全文检索提供高效且精准的分词服务。它支持自定义词典,这意味着用户可以根据实际需求定制自己的词汇库,以提高搜索的准确性和覆盖率。 ...