Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装

本文使用的Elasticsearch版本是2.4.1

离线安装head插件

到https://github.com/mobz/elasticsearch-head/archive/master.zip
下载head插件
然后到$ES_HOME(elasticsearch的主目录,下同),执行命令: bin/plugin install file:/home/××/elasticsearch-head.zip ,注:file后面为插件所在的绝对或者相对路径

重启elasticsearch,访问http://localhost:9200/_plugin/head/ 查看插件界面

Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第1张图片
image.png

注:在线安装head插件方法是:$ES_HOME/bin/plugin install mobz/elasticsearch-head

安装ik分词插件

到https://github.com/medcl/elasticsearch-analysis-ik 下载对应的ik版本,
这里我们使用的es是2.4.1,对应的ik插件版本是v1.10.1,如果使用不同的es版本,自行选择不同的Tag

Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第2张图片
image.png

Download ZIP 下载源码,使用mvn clean package -Dmaven.test.skip=true进行编译,编译成功后,拷贝elasticsearch-analysis-ik-1.10.1.zip到$ES_HOME/plugins/ik里面(没有ik目录自行创建)。


Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第3张图片
image.png

用unzip elasticsearch-analysis-ik-1.10.1.zip 解压,再重启elasticsearch。

验证ik分词效果
http://10.1.109.163:9200/_analyze?text=中华人民共和国MN&tokenizer=ik
或者
http://10.1.109.163:9200/_analyze?text=中华人民共和国MN&analyzer=ik
或者
curl -XGET "http://localhost:9200/your_index/_analyze" -H 'Content-Type: application/json' -d'
{
"text":"中华人民共和国MN","tokenizer": "my_ik"
}'

可以看到以下分词效果,说明ik分词正常:


Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第4张图片
image.png

注:可以试着将analyzer改成ik_smart和ik_max_word对比结果的不同
ik_smart 是 IK Analysis 其中一种分词形式。IK Analysis主要有两种类型的分词形式,分别是 ik_max_word 和 ik_smart。

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国”、“中华人民”、“中华”、“华人”、“人民共和国”、“人民”、“人”、“民”,、“共和国”、“共和”、“和”、“国歌”等,会穷尽各种可能的组合;
ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国”、“国歌”。

ik实战例子

  • 1、创建索引(mapping)
    put http://10.1.109.163:9200/iktest2
{
    "mappings":{
        "post":{
            "dynamic":"strict",
            "properties":{
                "id":{"type":"integer","store":"yes"},
                "title":{"type":"string","store":"yes","index":"analyzed","analyzer": "ik_max_word","search_analyzer": "ik_max_word"},
                "content":{"type":"string","store":"yes","index":"analyzed","analyzer": "ik_max_word","search_analyzer": "ik_max_word"},
                "author":{"type":"string","store":"yes","index":"no"},
                "time":{"type":"date","store":"yes","index":"no"}
            }
        }
    }
}
  • 2、再put一条数据进去


    Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第5张图片
    image.png
  • 3、模拟查询,查询“上海”能正常查询出来,但是查询“上”就查询不到数据


    Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第6张图片
    image.png

pinyin分词插件

到 https://github.com/medcl/elasticsearch-analysis-pinyin 下载对应的pinyin版本,es2.4.1版本对应的pinyin版本是v1.8.1,选择Tag进行切换,
安装方法同ik分词插件,

验证pinyin分词,访问
http://10.1.109.163:9200/_analyze?analyzer=pinyin&text=张学友:

Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装_第7张图片
image.png

参考:

elasticsearch2.3.3以及其插件离线安装
bin/plugin install file:/home/××/license-2.3.3.zip

Elasticsearch之中文分词器插件es-ik(博主推荐)

安装elasticsearch-analysis-ik中文分词插件

Elasticsearch 5 Ik+pinyin分词配置详解

社区帖子全文搜索实战(基于ElasticSearch)

你可能感兴趣的:(Elasticsearch基础之:head插件和ik,pinyin中文分词插件安装)