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": "你好追梦人"
    }
    
  • 相关阅读:
    XML(学习笔记)
    css样式学习笔记
    Request(对象)
    sql一些错误修改的总结
    转载(如何学习C#)
    sql server(学习笔记2 W3Cschool)
    sql sqrver(学习笔记1 W3Cschool)
    关于 flutter开发碰到的各种问题,有的已经解决有的一直没解决或者用其他方法替代
    关于 Flutter IOS build It appears that your application still contains the default signing identifier.
    关于 flutter本地化问题 The getter 'pasteButtonLabel' was called on null
  • 原文地址:https://www.cnblogs.com/psy-code/p/15116516.html
Copyright © 2011-2022 走看看