当前位置: 首页 > news >正文

elasticsearch分词器

内置分词器

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

内置分词器测试 

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

POST /_analyze
{"analyzer": "standard","text": "this is a , good Man 中华人民共和国"
}

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

POST /_analyze
{"analyzer": "simple","text": "this is a , good Man 中华人民共和国"
}

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

POST /_analyze
{"analyzer": "whitespace","text": "this is a , good Man"
}

创建索引设置分词

PUT /索引名
{"settings": {},"mappings": {"properties": {"title":{"type": "text","analyzer": "standard" //显示指定分词器}}}
}

中文分词器 

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

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

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

IK有两种颗粒度的拆分:

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

http://www.lryc.cn/news/226566.html

相关文章:

  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • C++17中std::optional的使用
  • c++求三个数的最小公倍数
  • Flink 基础 -- 尝试Flink
  • kubeadm部署k8s及高可用
  • GEE:将鼠标变成十字指针,点击获取影像值,显示值到UI中
  • SpringBoot 项目公共字段填充
  • 分布式搜索引擎ES
  • 2023年05月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • @KafkaListener注解详解(一)| 常用参数详解
  • 蓝桥杯算法双周赛心得——被替换的身份证(分类讨论)
  • 实验一:人工智能之启发式搜索算法(含源码+实验报告)
  • C++学习 --类和对象之封装
  • 在Spring Boot中使用JTA实现对多数据源的事务管理
  • 介绍YOLO-NAS Pose:姿势估计的技术
  • 计算机毕业设计 基于SpringBoot的实训管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Python开发运维:Python3.7使用QQ邮箱发送不同类型邮件
  • 二十三种设计模式全面解析-解密迭代器模式:探索遍历之道
  • kubernetes istio
  • 25期代码随想录算法训练营第十四天 | 二叉树 | 递归遍历、迭代遍历
  • 常用布局以及其优缺点
  • 海康工业相机如何提高相机帧率
  • Linux之IPC通信共享内存(一次拷贝)与消息队列、管道、信号量、socket(两次拷贝)总结(六十二)
  • 【多线程 - 01、概述】
  • SQL SELECT INTO 语句
  • 【刷题】(AtCoder Beginner Contest 328) C、D 补题
  • NI USRP软件无线设备的特点
  • 大数据毕业设计选题推荐-污水处理大数据平台-Hadoop-Spark-Hive
  • 最新获取支付宝cardIndex参数图文教程
  • Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)