ik插件,说白了,就是通过封装ik分词器,与ElasticSearch对接,让ElasticSearch能够驱动该分词器。那么,具体怎么与ElasticSearch对接呢?从下往上走,总共3步:
一、封装IK分析器
与ElasticSearch集成,分词器的配置均从ElasticSearch的配置文件读取,因此,需要重载IKAnalyzer的构造方法,然后继承ElasticSearch的类AbstractIndexAnalyzerProvider。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class IkAnalyzerProvider extends AbstractIndexAnalyzerProvider<IKAnalyzer> {
private final IKAnalyzer analyzer;
@Inject
public IkAnalyzerProvider(Index index, @IndexSettings Settings indexSettings,
Environment env, @Assisted String name, @Assisted Settings settings) {
super (index, indexSettings, name, settings);
Dictionary.initial( new Configuration(env));
analyzer= new IKAnalyzer(indexSettings, settings, env);
}
@Override public IKAnalyzer get() {
return this .analyzer;
}
} |
由于词库的配置也是从ElasticSearch的配置文件中读取,因此Dictionary也需要重载初始化方法。以上代码实现了一个分词策略供应器,这个供应器主要提供IK分析器。接下来,需要把这个供应器与ElasticSearch进行绑定。
二、绑定IK分析器
分析器的绑定需要继承绑定处理器AnalysisModule.AnalysisBinderProcessor,代码如下:
1
2
3
4
5
6
7
8
|
public class IkAnalysisBinderProcessor extends AnalysisModule.AnalysisBinderProcessor {
@Override public void processAnalyzers(AnalyzersBindings analyzersBindings) {
analyzersBindings.processAnalyzer( "ik" , IkAnalyzerProvider. class );
super .processAnalyzers(analyzersBindings);
}
} |
现在绑定处理器已经实现,下面是如何是IK分析器成为ElasticSearch的插件。
三、与ElasticSearch插件关联
继承AbstractPlugin,定义一个插件名称,方便在ElasticSearch配置文件里指定插件使用,定义一个简单的插件描述。,然后将ik绑定处理器加入ElasticSearch的分析模块。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class AnalysisIkPlugin extends AbstractPlugin {
@Override public String name() {
return "analysis-ik" ;
}
@Override public String description() {
return "ik analysis" ;
}
@Override public void processModule(Module module) {
if (module instanceof AnalysisModule) {
AnalysisModule analysisModule = (AnalysisModule) module;
analysisModule.addProcessor( new IkAnalysisBinderProcessor());
}
}
} |
以上只是与ElasticSearch对接的处理,之后还有一些IK的类需要调整,比如IKAnalyzer的构造方法需要重载,Dictionary的初始化方法也需要重载,Configuration的构造方法也需要重载等等,这些类根据不同的情况,构造重载实现也不一样。
http://my.oschina.net/xiaohui249/blog/268907
相关推荐
### ElasticSearch 安装 ik 分词插件 #### 背景介绍 ElasticSearch 是一个基于 Lucene 的搜索引擎,提供了分布式、实时的全文搜索功能。在处理中文文本时,通常需要借助第三方分词工具来提高搜索效果。ik 分词器...
“elasticsearch-analysis-ik-7.10.0”是针对Elasticsearch 7.10版本的IK分词插件。这个版本的更新可能包括了对新特性、性能优化以及bug修复的支持。安装这个插件可以使得Elasticsearch更好地理解和处理中文词汇,...
Elasticsearch IK分词插件是为Elasticsearch量身定制的一款强大中文分词器,主要目的是为了提高中文文档检索的准确性和效率。版本6.1.2是该插件的一个稳定版本,针对Elasticsearch 6.1.2进行优化,确保与核心搜索...
Elasticsearch的IK分词插件是处理中文文本的强大工具,它提升了ES对中文文本的索引和搜索性能。正确地安装和配置IK插件,可以帮助你更好地利用ES进行中文数据的管理和分析。同时,IK的灵活性和智能化特性使得它能够...
IK分词器是针对Elasticsearch设计的一款强大的中文分词插件,其全称为"elasticsearch-analysis-ik"。在Elasticsearch中,分词器的作用至关重要,它负责将用户输入的文本进行词汇切分,以便进行后续的搜索和分析操作...
"elasticsearch-ik中文分词器7.6.2" 正是为了解决这个问题而设计的,它是专门为Elasticsearch 7.6.2版本定制的中文分词插件。 **IK分词器介绍** IK(Intelligent Chinese)分词器是为Java开发的一个成熟的中文分...
Elasticsearch-analysis-ik 是一个专为 Elasticsearch 设计的中文分词插件,它基于 Lucene 的 IK 分词器,旨在提供高效、准确的中文分词能力。 **IK 分词器介绍** IK (Intelligent Chinese Analyzer) 是一个针对...
IK 分词器(Intelligent Chinese Analyzer for Elasticsearch)是针对 Elasticsearch 的一个强大、高效的中文分词插件,适用于各种复杂的中文文本处理场景。 **IK 分词器介绍** IK 分词器由“Smart Chinese ...
IK分词器是针对Elasticsearch(ES)的一款热门中文分词插件,其全称为“Intelligent Chinese Analyzer for Elasticsearch”。它由Java编写,旨在为中文文档提供高效、准确的分词处理。版本7.10.2是IK分词器的一个...
### Elasticsearch 安装 IK 分词器详解 #### 一、背景及需求分析 Elasticsearch 是一款基于 Lucene 的搜索引擎,广泛应用于日志处理、全文检索等场景。它提供了多种内置分词器来处理文本数据,但在实际应用过程中...
标题“es2.4.4添加ik分词插件”涉及到的是在Elasticsearch(ES)2.4.4版本中安装IK分词插件的过程。这个过程是为了解决中文文本的索引和搜索问题,因为Elasticsearch默认的分词器主要针对英文,对中文的支持不够理想...
elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个主要特点: 中文分词:elasticsearch-analysis-ik 是基于...
在中文处理方面,IK (Intelligent Chinese) 分词器是 Elasticsearch 的一个非常重要的插件,尤其对于中文文本的索引和搜索性能提升起到了关键作用。IK 分词器针对中文的特性进行了优化,能够有效地对中文文本进行...
IK分词器(Intelligent Chinese Analyzer for Elasticsearch)是专门为Elasticsearch设计的一款高性能中文分词组件。它支持多种分词模式,包括精确模式、全模式、最短路径模式、关键词模式等,能够满足不同场景下的...
IK全称为“IntelligentKeyword”,是为Elasticsearch设计的一款强大且成熟的中文分词插件。它的主要功能是提供精确和智能的中文分词效果,以满足各种复杂场景下的搜索需求。IK插件不仅支持常用的分词功能,还具备...
在本文中,我们将探讨如何利用Elasticsearch的IK分词器并对其进行源码改造,以实现热词库的动态更新,特别是通过MySQL数据库进行热词和停用词的定时更新。首先,我们要了解IK分词器的几种常用词库配置方式。 **0. ...
**Elasticsearch IK分词插件详解** Elasticsearch(ES)是一款强大的开源搜索引擎,它以其高效、可扩展和易用性而广受开发者喜爱。在处理中文文本时,一个关键的步骤就是对文本进行分词,以便搜索引擎能正确理解和...
ES: elasticsearch-7.9.3-linux-x86_64.tar ik分词器:elasticsearch-analysis-ik-7.9.3.zip 可视化插件:elasticsearch_Head谷歌插件.rar
IK分词器8.15.0版本 elasticsearch-analysis-ik-8.15.0.zip 适用于中文文本分析
首先,IK分词器全称为“Intelligent Chinese Analyzer for Elasticsearch”,是由开源社区开发的专门针对Elasticsearch的中文分词组件。它的主要功能是对中文文本进行智能分词,支持多种分词模式,包括精确模式、全...