zoukankan      html  css  js  c++  java
  • Elasticsearch笔记六之中文分词器及自定义分词器

    中文分词器

    在lunix下执行下列命令,可以看到本来应该按照中文”北京大学”来查询结果es将其分拆为”北”,”京”,”大”,”学”四个汉字,这显然不符合我的预期。这是因为Es默认的是英文分词器我需要为其配置中文分词器。

    curlHTTP://192.168.79.131:9200/shb01/_analyze?pretty=true -d'{"text":"北京大学"}'



    Es整合ik不直接用ik官网的工具包,需要将ik工具包封装成es插件才行,这个已经有人封装好了可以在github上下载elasticsearch-analysis-ik

    1:在github上下载ik插件源码

    https://github.com/medcl/elasticsearch-analysis-ik



    2:下载后解压缩在根目录下使用maven对其进行编译。

    编译后把target/release目录下的elasticsearch-analysis-ik-1.3.0.zip上传到/usr/local/elasticsearch-1.4.4/plugins/analysis-ik目录下然后使用unzip解压。

    把下载的ik插件中config目录下的文件拷贝到/usr/local/elasticsearch-1.4.4/config目录下,这些文件时ik的配置文件,custom是自定义词库文件。



    3:修改elasticsearch.yml文件,把ik分词器设置为es的默认分词器

    index.analysis.analyzer.default.type:ik

     

    4:重启es,注意es中的每个节点都要进行上述配置。

     

     

    自定义分词器

    1:创建一个dic文件,编码格式必须为utf-8无BOM格式,每个词一行多个词需要换行。



    2:将自定义的dic文件上传到/usr/local/elasticsearch-1.4.4/config/custom目录下

     

    3:修改ik的配置文件/usr/local/elasticsearch-1.4.4/config/IKAnalyzer.cfg.xml,在其中指定自定义的dic文件。


    4:重启es

  • 相关阅读:
    141. 环形链表
    15. 三数之和
    剑指 Offer 59
    177. 第N高的薪水
    176. 第二高的薪水
    175. 组合两个表
    剑指 Offer 57
    剑指 Offer 56
    110. 平衡二叉树
    置顶
  • 原文地址:https://www.cnblogs.com/zhangboyu/p/7451996.html
Copyright © 2011-2022 走看看