美文网首页elasticsearch
Elasticsearch基础之:head插件和ik,pinyi

Elasticsearch基础之:head插件和ik,pinyi

作者: staconfree | 来源:发表于2018-03-12 16:16 被阅读34次

    本文使用的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/ 查看插件界面

    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

    image.png

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


    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分词正常:


    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实战例子

    {
        "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一条数据进去


      image.png
    • 3、模拟查询,查询“上海”能正常查询出来,但是查询“上”就查询不到数据


      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=张学友:

    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,pinyi

        本文链接:https://www.haomeiwen.com/subject/blxnfftx.html