• elasticsearch分词器


    内置分词器

    • Standard Analyzer - 默认分词器,英文按单词词切分,并小写处理
    • Simple Analyzer - 按照单词切分(符号被过滤), 小写处理
    • Stop Analyzer - 小写处理,停用词过滤(the,a,is)
    • Whitespace Analyzer - 按照空格切分,不转小写
    • Keyword Analyzer - 不分词,直接将输入当作输出

    内置分词器测试 

    标准分词器:按照单词分词 英文统一转为小写 过滤标点符号 中文单字分词

    1. POST /_analyze
    2. {
    3. "analyzer": "standard",
    4. "text": "this is a , good Man 中华人民共和国"
    5. }

    Simple 分词器:英文按照单词分词 英文统一转为小写 去掉符号 中文按照空格进行分词

    1. POST /_analyze
    2. {
    3. "analyzer": "simple",
    4. "text": "this is a , good Man 中华人民共和国"
    5. }

    Whitespace 分词器:中文 英文 按照空格分词 英文不会转为小写 不去掉标点符号

    1. POST /_analyze
    2. {
    3. "analyzer": "whitespace",
    4. "text": "this is a , good Man"
    5. }

    创建索引设置分词

    1. PUT /索引名
    2. {
    3. "settings": {},
    4. "mappings": {
    5. "properties": {
    6. "title":{
    7. "type": "text",
    8. "analyzer": "standard" //显示指定分词器
    9. }
    10. }
    11. }
    12. }

    中文分词器 

    在ES中支持中文分词器非常多 如 smartCNIK 等,推荐的就是 IK分词器

    IK分词器的版本要你安装ES的版本一致

    1. 1. 下载对应版本
    2. - [es@linux ~]$ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.14.0/elasticsearch-analysis-ik-7.14.0.zip
    3. # 2. 解压
    4. - [es@linux ~]$ unzip elasticsearch-analysis-ik-6.2.4.zip #先使用yum install -y unzip
    5. # 3. 移动到es安装目录的plugins目录中
    6. - [es@linux ~]$ ls elasticsearch-6.2.4/plugins/
    7. [es@linux ~]$ mv elasticsearch elasticsearch-6.2.4/plugins/
    8. [es@linux ~]$ ls elasticsearch-6.2.4/plugins/
    9. elasticsearch
    10. [es@linux ~]$ ls elasticsearch-6.2.4/plugins/elasticsearch/
    11. commons-codec-1.9.jar config httpclient-4.5.2.jar plugin-descriptor.properties
    12. commons-logging-1.2.jar elasticsearch-analysis-ik-6.2.4.jar httpcore-4.4.4.jar
    13. # 4. 重启es生效
    14. # 5. 本地安装ik配置目录为
    15. - es安装目录中/plugins/analysis-ik/config/IKAnalyzer.cfg.xml

    IK有两种颗粒度的拆分:

    • ik_smart: 会做最粗粒度的拆分
    • ik_max_word: 会将文本做最细粒度的拆分(分词数更多)

  • 相关阅读:
    Java使用Activiti创建数据库表的几种方式
    Markdown使用模板
    【Java并发编程十】同步控制二
    matlab常微分方程在传染病建模中的应用
    计算机毕业设计django基于python少儿编程线上教育系统(源码+系统+mysql数据库+Lw文档)
    Linux中的权限机制
    2022届秋招Java岗高频面试题盘点,老司机也未必全会,真的太卷了
    LeetCode刷题---移除元素
    【深度学习实验】注意力机制(二):掩码Softmax 操作
    基于python的学生成绩管理系统毕业设计源码071143
  • 原文地址:https://blog.csdn.net/qq_36042938/article/details/134353725