想要给elasticsearch安装一个中文分词插件,网上的资料都有点过时。
现在记录一下从源码安装ik插件的过程。
(注:我用的版本是0.90.2)。
1、下载源码
首先去ik的git网站下站源码,网址:https://github.com/medcl/elasticsearch-analysis-ik
下载完源码后,发现没有对应的jar包。我用mvn package,打了一个jar包。
打包后名称最后是:elasticsearch-analysis-ik-1.2.2.jar
2、文件拷贝。
这一步很简单,将jar包拷贝到ES_HOME/plugin/analysis-ik目录下面。
将config/ik目录下面的东西拷贝纸ES_HOME/config/ik目录下面(我在本机是window,es在linux上面,我是先将文件夹打包成zip包,然后到服务器上解压)。
3、增加配置
编辑elasticsearch.xml,在文件的最后增加下面代码:
index: analysis: analyzer: ik: alias: [ik_analyzer] type: org.elasticsearch.index.analysis.IkAnalyzerProvider ik_max_word: type: ik use_smart: false ik_smart: type: ik use_smart: true
然后重启elasitcsearch。
4、测试分词插件
这个我也不知道为啥使用下面命令不能测试。
curl 'http://localhost:9200/_analyze?analyzer=ik&pretty=true' -d' { "text":"去北京怎么走" } '
但是从es的日志看,插件应该已经是加载了。
我安装ik插件的说明创建了一个索引,然后在索引下面使用上面的查询可以。
curl -XPUT http://localhost:9200/index curl -XPOST http://localhost:9200/index/fulltext/_mapping -d' { "fulltext": { "_all": { "indexAnalyzer": "ik", "searchAnalyzer": "ik", "term_vector": "no", "store": "false" }, "properties": { "content": { "type": "string", "store": "no", "term_vector": "with_positions_offsets", "indexAnalyzer": "ik", "searchAnalyzer": "ik", "include_in_all": "true", "boost": 8 } } } }' //测试命令 curl 'http://localhost:9200/index/_analyze?analyzer=ik&pretty=true' -d' { "text":"去北京怎么走" } '
测试分词效果如下:
{ "text":"去北京怎么走" } ' { "tokens" : [ { "token" : "text", "start_offset" : 4, "end_offset" : 8, "type" : "ENGLISH", "position" : 1 }, { "token" : "去", "start_offset" : 11, "end_offset" : 12, "type" : "CN_CHAR", "position" : 2 }, { "token" : "北京", "start_offset" : 12, "end_offset" : 14, "type" : "CN_WORD", "position" : 3 }, { "token" : "怎么走", "start_offset" : 14, "end_offset" : 17, "type" : "CN_WORD", "position" : 4 } ] }
5、补充
当测试分词“中华人民共和国时",发现竟然没有分词。如下:
curl 'http://localhost:9200/index/_analyze?analyzer=ik&pretty=true' -d' > { > "text":"中华人民共和国" > } > ' { "tokens" : [ { "token" : "text", "start_offset" : 12, "end_offset" : 16, "type" : "ENGLISH", "position" : 1 }, { "token" : "中华人民共和国", "start_offset" : 19, "end_offset" : 26, "type" : "CN_WORD", "position" : 2 } ] }
但这并非我们想要的结果,难道ik这么差,不会分词了?后来经过研究,发现ik有一个smart模式,并且默认是这个模式,在这种模式下,你搜索“中华人民共和国",可能就搜不到仅包含“共和国"的文档。只需使用ik_max_word模式即可修复以上问题,关于分词器,继续探索中....。
curl 'http://localhost:9200/index/_analyze?analyzer=ik_max_word&pretty=true' -d' > { > "text":"中华人民共和国" > } > ' { "tokens" : [ { "token" : "text", "start_offset" : 12, "end_offset" : 16, "type" : "ENGLISH", "position" : 1 }, { "token" : "中华人民共和国", "start_offset" : 19, "end_offset" : 26, "type" : "CN_WORD", "position" : 2 }, { "token" : "中华人民", "start_offset" : 19, "end_offset" : 23, "type" : "CN_WORD", "position" : 3 }, { "token" : "中华", "start_offset" : 19, "end_offset" : 21, "type" : "CN_WORD", "position" : 4 }, { "token" : "华人", "start_offset" : 20, "end_offset" : 22, "type" : "CN_WORD", "position" : 5 }, { "token" : "人民共和国", "start_offset" : 21, "end_offset" : 26, "type" : "CN_WORD", "position" : 6 }, { "token" : "人民", "start_offset" : 21, "end_offset" : 23, "type" : "CN_WORD", "position" : 7 }, { "token" : "共和国", "start_offset" : 23, "end_offset" : 26, "type" : "CN_WORD", "position" : 8 }, { "token" : "共和", "start_offset" : 23, "end_offset" : 25, "type" : "CN_WORD", "position" : 9 }, { "token" : "国", "start_offset" : 25, "end_offset" : 26, "type" : "CN_CHAR", "position" : 10 } ] }
请支持原创:
http://donlianli.iteye.com/blog/1948841
相关推荐
在安装IK插件时,需要将这个jar文件放入Elasticsearch的plugins目录下,并重启ES服务。 `plugin-security.policy`是插件的安全策略文件,用于限制插件的权限,防止不安全的操作。`plugin-descriptor.properties`是...
总之,"elasticsearch-5.3.2 附带IK插件"是一个包含预编译的IK分词插件的Elasticsearch版本,对于需要处理中文文本搜索和分析的项目来说,这是一个高效且便捷的选择。用户可以直接利用此版本进行快速部署,享受高...
cp elasticsearch-analysis-ik-1.2.5.jar ES_HOME/plugins/analysis-ik/ ``` 同时,在 ElasticSearch 的配置文件 `elasticsearch.yml` 中添加以下内容来启用 ik 分词器: ```yaml index: analysis: analyzer: ik...
### Elasticsearch 安装 IK 分词器详解 #### 一、背景及需求分析 Elasticsearch 是一款基于 Lucene 的搜索引擎,广泛应用于日志处理、全文检索等场景。它提供了多种内置分词器来处理文本数据,但在实际应用过程中...
2. 安装:将压缩包解压后,通过ES的`bin/elasticsearch-plugin`脚本安装,命令格式通常为`bin/elasticsearch-plugin install file:///path/to/ik/plugin.zip`。 3. 配置:在ES的`config/elasticsearch.yml`配置文件...
在中文环境下,为了实现精确的分词和搜索,我们需要安装适合版本的分词插件,如“elasticsearch-analysis-ik”。这个插件是为Elasticsearch设计的中文分词器,能够对中文文本进行有效的分词处理,提高搜索的准确性和...
安装Elasticsearch Analysis IK插件时,需要先将压缩包解压,然后将elasticsearch-analysis-ik-7.10.2.jar复制到Elasticsearch的plugins目录下,重启Elasticsearch服务即可。在使用过程中,可以利用Elasticsearch的...
5. elasticsearch-analysis-ik-7.10.0.jar:这个是核心插件文件,包含了IK分词器的所有代码和资源,安装时会将其复制到Elasticsearch的plugins目录下。 6. plugin-security.policy:安全策略文件,可能用于限制插件...
《Elasticsearch中文分词器IK插件详解》 在现代大数据分析和搜索引擎领域,Elasticsearch(ES)因其高效、灵活的全文检索能力而备受青睐。然而,对于中文这样的多字节语言,如何准确地进行分词是关键。这时,我们就...
"elasticsearch-ik中文分词器7.6.2" 正是为了解决这个问题而设计的,它是专门为Elasticsearch 7.6.2版本定制的中文分词插件。 **IK分词器介绍** IK(Intelligent Chinese)分词器是为Java开发的一个成熟的中文分...
2. 配置:在Elasticsearch的配置文件`elasticsearch.yml`中添加IK插件的配置,例如设置默认分词器、启用扩展词典等。 3. 启动:重启Elasticsearch服务以使配置生效。 4. 测试:通过Elasticsearch的API进行测试,...
IK分词器是针对Elasticsearch设计的一款强大的中文分词插件,其全称为"elasticsearch-analysis-ik"。在Elasticsearch中,分词器的作用至关重要,它负责将用户输入的文本进行词汇切分,以便进行后续的搜索和分析操作...
安装 Elasticsearch-analysis-ik 插件非常简单,只需在 Elasticsearch 根目录下执行命令 `bin/elasticsearch-plugin install analysis-ik`,然后重启 Elasticsearch 服务。在配置文件 `elasticsearch.yml` 中可以...
《Elasticsearch Analysis IK插件7.11.1版详解》 Elasticsearch Analysis IK插件是针对Elasticsearch的中文分词器,它的最新版本7.11.1为用户提供了强大的中文处理能力。这个插件的核心目标是帮助Elasticsearch更好...
本文将深入探讨"elasticsearch-analysis-ik-5.6.8"这个官方绿色解压版的分词器插件,以及如何在Elasticsearch中安装和使用。 首先,"elasticsearch-analysis-ik"是专为Elasticsearch设计的中文分词器,它能够有效地...
IK分词器(Intelligent Chinese Analyzer for Elasticsearch)是为Elasticsearch设计的一款强大、灵活且高效的中文分词插件。它支持自定义扩展词典、同义词扩展、动态词典加载等功能,能更好地适应中文的复杂语境。 ...
通过安装这个插件,我们可以轻松地在 Elasticsearch 中配置使用 IK 分词器,提高中文搜索的准确性和性能。 **三、安装与配置** 1. **下载插件**:首先,从官方仓库或 GitHub 下载 elasticsearch-analysis-ik-...
Elasticsearch 分析插件 IK 是一款非常流行的中文分词插件,专为 Elasticsearch 设计。这个最新的版本 "elasticsearch-analysis-ik-7.13.4.zip" 提供了针对 Elasticsearch 7.13.4 的优化和增强,旨在提高中文文本...
安装此插件后,用户可以通过Elasticsearch的配置文件(如elasticsearch.yml)来启用和配置IK分词器。例如,设置`analysis.analyzer.default.type`为`ik_maxword`或`ik_smart`来选择分词模式。此外,还可以通过...
安装和使用Elasticsearch Analysis IK插件时,需要将这些文件部署到Elasticsearch的`plugins`目录下,并重启Elasticsearch服务。然后,可以通过Elasticsearch的设置和映射定义来启用IK分析器,为索引中的文本字段...