zoukankan      html  css  js  c++  java
  • ES之一:API使用及常用概念

    ES使用中文分词器进行分词

    windows版本安装中文分词器: IK 分词器

    #1.下载与ES版本一模一样版本的IK分词器, 否则可能导致失败 (这里选择v7.14.0)
    https://github.com/medcl/elasticsearch-analysis-ik/releases
    
    #2.将elasticsearch-analysis-ik-7.14.0.zip拷贝到 elasticsearch-7.14.0plugins目录下,
    在该目录下创建ik目录, 将elasticsearch-analysis-ik-7.14.0.zip解压到ik目录, 然后移除elasticsearch-analysis-ik-7.14.0.zip, 切记一定要移除这个zip包
    
    #3.直接启动或重新启动ES即可.
    

    IK分词器基础知识

    IK中文分词器插件给我们提供了两个分析器。
    ik_max_word: 会将文本做最细粒度的拆分
    ik_smart:会做最粗粒度的拆分
    
    #直接测试下IK分词器
    POST _analyze
    {
      "analyzer": "ik_smart",
      "text":     "中华人民共和国国歌"
    }
    
    POST _analyze
    {
      "analyzer": "ik_max_word",
      "text":     "中华人民共和国国歌"
    }
    

    创建索引时指定IK分词器

    PUT /ik_index
    {
      "mappings": {
        "properties": {
          "id": {
            "type": "long"
          },
          "title": {
            "type": "text",
            "analyzer": "ik_max_word"
          }
        }
      }
    }
    

    查看索引情况(是否成功使用了IK分词器)

    GET /ik_index/_mapping
    

    为索引指定默认的分词器

    PUT ik_index
    {
      "settings": {
        "analysis": {
          "analyzer": {
            "default": {
              "type": "ik_max_word"
            }
          }
        }
      }
    }
    

    测试下中文分词效果

    PUT /ik_index/_doc/1
    {
      "id": 99,
      "title": "这是一篇中文文章。"
    }
    
    #应该查到结果
    GET /ik_index/_search
    {
      "query": {
        "match": {
          "title": "文章"
        }
      }
    }
    
    #不应该查到结果
    GET /ik_index/_search
    {
      "query": {
        "match": {
          "title": "文"
        }
      }
    }
    

    自定义IK分词器的字典

    自定义前查看分词效果

    GET /_analyze
    {
      "analyzer": "ik_max_word",
      "text": "你好追梦人"
    }
    

    自定义分词字典

    1.在D:elasticsearch-7.14.0pluginsikconfig目录下, 创建zy.dic文件(注意字符集为UTF-8)
    2.在zy.dic中首行直接输入三个字: 追梦人
    3.编辑D:elasticsearch-7.14.0pluginsikconfigIKAnalyzer.cfg.xml, 将zy.dic填入下处:
    <entry key="ext_dict">zy.dic</entry>
    4.启动或者重启ES.
    

    再次查看分词效果即可

    GET /_analyze
    {
      "analyzer": "ik_max_word",
      "text": "你好追梦人"
    }
    
  • 相关阅读:
    11-15SQLserver基础--数据库之范式理论
    11-13SQLserver基础--数据库之事务
    11-11SQLserver基础--数据库之触发器
    C#中abstract和virtual区别
    virtual修饰符
    override 修饰符
    访问public
    访问修饰符protected
    访问修饰符private
    访问修饰符internal
  • 原文地址:https://www.cnblogs.com/psy-code/p/15116516.html
Copyright © 2011-2022 走看看