`
donlianli
  • 浏览: 339200 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Elasticsearch...
浏览量:217954
社区版块
存档分类
最新评论

Elasticsearch安装ik插件

阅读更多

想要给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

 

 

 

 

 

对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问 我的空间

 

2
1
分享到:
评论

相关推荐

    elasticsearch ik插件

    在安装IK插件时,需要将这个jar文件放入Elasticsearch的plugins目录下,并重启ES服务。 `plugin-security.policy`是插件的安全策略文件,用于限制插件的权限,防止不安全的操作。`plugin-descriptor.properties`是...

    elasticsearch-5.3.2 附带IK插件

    总之,"elasticsearch-5.3.2 附带IK插件"是一个包含预编译的IK分词插件的Elasticsearch版本,对于需要处理中文文本搜索和分析的项目来说,这是一个高效且便捷的选择。用户可以直接利用此版本进行快速部署,享受高...

    ElasticSearch安装ik分词插件.txt

    cp elasticsearch-analysis-ik-1.2.5.jar ES_HOME/plugins/analysis-ik/ ``` 同时,在 ElasticSearch 的配置文件 `elasticsearch.yml` 中添加以下内容来启用 ik 分词器: ```yaml index: analysis: analyzer: ik...

    es安装ik分词器

    ### Elasticsearch 安装 IK 分词器详解 #### 一、背景及需求分析 Elasticsearch 是一款基于 Lucene 的搜索引擎,广泛应用于日志处理、全文检索等场景。它提供了多种内置分词器来处理文本数据,但在实际应用过程中...

    elasticsearch-ik分词插件.rar

    2. 安装:将压缩包解压后,通过ES的`bin/elasticsearch-plugin`脚本安装,命令格式通常为`bin/elasticsearch-plugin install file:///path/to/ik/plugin.zip`。 3. 配置:在ES的`config/elasticsearch.yml`配置文件...

    elasticSearch(ES)最新版 ik分词插件7.10 elasticsearch-analysis-ik-7.10.0

    在中文环境下,为了实现精确的分词和搜索,我们需要安装适合版本的分词插件,如“elasticsearch-analysis-ik”。这个插件是为Elasticsearch设计的中文分词器,能够对中文文本进行有效的分词处理,提高搜索的准确性和...

    IK分词器elasticsearch-analysis-ik-7.17.16

    IK分词器是针对Elasticsearch设计的一款强大的中文分词插件,其全称为"elasticsearch-analysis-ik"。在Elasticsearch中,分词器的作用至关重要,它负责将用户输入的文本进行词汇切分,以便进行后续的搜索和分析操作...

    elasticsearch-analysis-ik-8.11.0

    2. 配置:在Elasticsearch的配置文件`elasticsearch.yml`中添加IK插件的配置,例如设置默认分词器、启用扩展词典等。 3. 启动:重启Elasticsearch服务以使配置生效。 4. 测试:通过Elasticsearch的API进行测试,...

    最新版 elasticsearch-analysis-ik-7.10.2.zip

    安装Elasticsearch Analysis IK插件时,需要先将压缩包解压,然后将elasticsearch-analysis-ik-7.10.2.jar复制到Elasticsearch的plugins目录下,重启Elasticsearch服务即可。在使用过程中,可以利用Elasticsearch的...

    elasticsearch-analysis-ik 7.10.0 分词器

    安装 Elasticsearch-analysis-ik 插件非常简单,只需在 Elasticsearch 根目录下执行命令 `bin/elasticsearch-plugin install analysis-ik`,然后重启 Elasticsearch 服务。在配置文件 `elasticsearch.yml` 中可以...

    elasticsearch-analysis-ik-7.10.0.zip下载

    5. elasticsearch-analysis-ik-7.10.0.jar:这个是核心插件文件,包含了IK分词器的所有代码和资源,安装时会将其复制到Elasticsearch的plugins目录下。 6. plugin-security.policy:安全策略文件,可能用于限制插件...

    elasticsearch7.17.11版本分词器插件安装包

    IK分词器(Intelligent Chinese Analyzer for Elasticsearch)是为Elasticsearch设计的一款强大、灵活且高效的中文分词插件。它支持自定义扩展词典、同义词扩展、动态词典加载等功能,能更好地适应中文的复杂语境。 ...

    最新版 elasticsearch-analysis-ik-7.11.1.zip

    《Elasticsearch Analysis IK插件7.11.1版详解》 Elasticsearch Analysis IK插件是针对Elasticsearch的中文分词器,它的最新版本7.11.1为用户提供了强大的中文处理能力。这个插件的核心目标是帮助Elasticsearch更好...

    elasticsearch-analysis-ik-5.6.8 ik分词器插件

    本文将深入探讨"elasticsearch-analysis-ik-5.6.8"这个官方绿色解压版的分词器插件,以及如何在Elasticsearch中安装和使用。 首先,"elasticsearch-analysis-ik"是专为Elasticsearch设计的中文分词器,它能够有效地...

    最新版 elasticsearch-analysis-ik-7.14.0.zip

    安装此插件后,用户可以通过Elasticsearch的配置文件(如elasticsearch.yml)来启用和配置IK分词器。例如,设置`analysis.analyzer.default.type`为`ik_maxword`或`ik_smart`来选择分词模式。此外,还可以通过...

    elasticsearch-analysis-ik,ik分析插件将lucene ik analyzer集成到elasticsearch中,支持自定义字典。.zip

    通过安装这个插件,我们可以轻松地在 Elasticsearch 中配置使用 IK 分词器,提高中文搜索的准确性和性能。 **三、安装与配置** 1. **下载插件**:首先,从官方仓库或 GitHub 下载 elasticsearch-analysis-ik-...

    最新版 elasticsearch-analysis-ik-7.13.4.zip

    Elasticsearch 分析插件 IK 是一款非常流行的中文分词插件,专为 Elasticsearch 设计。这个最新的版本 "elasticsearch-analysis-ik-7.13.4.zip" 提供了针对 Elasticsearch 7.13.4 的优化和增强,旨在提高中文文本...

    elasticsearch-analysis-ik-7.16.3.zip

    《Elasticsearch中文分词器IK插件详解》 在现代大数据分析和搜索引擎领域,Elasticsearch(ES)因其高效、灵活的全文检索能力而备受青睐。然而,对于中文这样的多字节语言,如何准确地进行分词是关键。这时,我们就...

    最新版windows elasticsearch-analysis-ik-7.13.3.zip

    安装Elasticsearch Analysis IK插件时,需确保Elasticsearch服务已经正确安装并运行。下载zip文件后,解压至Elasticsearch的plugins目录下,重启Elasticsearch服务即可完成安装。在Windows环境下,可以通过命令行...

    es2.4.4添加ik分词插件

    标题“es2.4.4添加ik分词插件”涉及到的是在Elasticsearch(ES)2.4.4版本中安装IK分词插件的过程。这个过程是为了解决中文文本的索引和搜索问题,因为Elasticsearch默认的分词器主要针对英文,对中文的支持不够理想...

Global site tag (gtag.js) - Google Analytics