微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

es-ik ES上使用IK中文分词器

程序名称:es-ik

授权协议: MIT

操作系统: 跨平台

开发语言: Java

es-ik 介绍

IK中文分词器在Elasticsearch上的使用。原生IK中文分词是从文件系统中读取词典,es-
ik本身可扩展成从不同的源读取词典。目前提供从sqlite3数据库中读取。es-ik-plugin-sqlite3使用方法

1. 在elasticsearch.yml中设置你的sqlite3词典的位置:

ik_analysis_db_path: /opt/ik/dictionary.db

我提供了默认的词典:https://github.com/zacker330/es-ik-sqlite3-dictionary

2. 安装(目前是1.0.1版本)

./bin/plugin -i ik-analysis -u https://github.com/zacker330/es-ik-plugin-sqlite3-release/raw/master/es-ik-sqlite3-1.0.1.zip

3. 现在可以测试了:

1. 创建index

curl -X PUT -H "Cache-Control: no-cache" -d '{
    "settings":{
        "index":{
            "number_of_shards":1,
            "number_of_replicas": 1
        }
    }
}' 'http://localhost:9200/songs/'

2. 创建map:

curl -X PUT -H "Cache-Control: no-cache" -d '{
        "song": {
            "_source": {"enabled": true},
            "_all": {
                "indexAnalyzer": "ik_analysis",
                "searchAnalyzer": "ik_analysis",
                "term_vector": "no",
                "store": "true"
            },
            "properties":{
                "title":{
                    "type": "string",
                    "store": "yes",
                    "indexAnalyzer": "ik_analysis",
                    "searchAnalyzer": "ik_analysis",
                    "include_in_all": "true"
                }
            }

        }
}
    ' 'http://localhost:9200/songs/_mapping/song'

3.

curl -X POST  -d '林夕为我们作词' 'http://localhost:9200/songs/_analyze?analyzer=ik_analysis'

response:
{"tokens":[{"token":"林夕","start_offset":0,"end_offset":2,"type":"CN_WORD","position":1},{"token":"作词","start_offset":5,"end_offset":7,"type":"CN_WORD","position":2}]}

es-ik 官网

http://git.oschina.net/zacker330/es-ik

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐