Elasticsearch分词器介绍、内置分词器及配置中文分词器

1、分词器、

分词器是从一串文本中切分一个个的词条,并对每个词条进行标准化,包含三个部分:

  • character filter:分词之前的预处理,过滤掉HTML标签、特殊符号转换(例如,将&符号转换成and、将|符号转换成or)等。
  • tokenizer:分词
  • token filter:标准化
2、内置分词器
  • standard分词器:(默认的)它将词汇单元转换成小写形式,并去掉停用词(a、an、the等没有实际意义的词)和标点符号,支持中文采用的方法为单字切分(例如,‘你好’切分为‘你’和‘好’)。
  • simple分词器:首先通过非字母字符来分割文本信息,然后将词汇单元同一为小写形式。该分析器会去掉数字类型的字符。
  • Whitespace分词器:仅仅是去除空格,对字符没有lowcase(大小写转换)化,不支持中文;并且不对生成的词汇单元进行其他的标准化处理。
  • language分词器:特定语言的分词器,不支持中文。
3、配置中文分词器(ayalysis-ik)
//下载中文分词器https://github.com/medcl/elasticsearch-ayalysis-ik
git clone https://github.com/medcl/elasticsearch-ayalysis-ik

//解压elasticsearch-ayalysis-ik-master.zip
unzip elasticsearch-ayalysis-ik-master.zip

//进入elasticsearch-ayalysis-ik-master,编译源码(这里使用maven进行编译(需要提前安装配置maven),Dmaven.test.skip=true是跳过测试)
mvn clean install —Dmaven.test.skip=true

//在es的plugins目录下创建ik目录
mkdir ik

//将编译后生成的elasticsearch-analysis-ik-版本.zip移动至ik目录下,并解压即可
cp elasticsearch-analysis-ik-版本.zip /opt/elasticsearch/plugins/ik
unzip elasticsearch-analysis-ik-版本.zip
Image placeholder
schaffers
未设置
  47人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Hyperf 发布 Session、极简 DB、zk 配置中心组件和支持 Twig/Plates 视图引擎支持

更新内容 本周更新主要新增极简DB组件,Zookeeper配置中心,和Session组件,以及为视图组件增加了Twig和Plates视图引擎的支持,同时为计划任务组件增加了集群执行的支持。极简DB组件

Hyperf 接入阿里 ACM 配置中心

后期更改配置有两种方法,一是使用DockerSwarmConfig,这个在部署章节有说明。二就是使用在线的配置中心,这里介绍阿里的ACM。注册阿里云并开通ACMhttps://acm.console.

微服务配置中心完全解读

本文作者:风卿,Nacos社区committer.在撰写这篇技术选型的文章之前,是比较犹豫的。因为,以其中一个开源项目开发者的身份,去写一篇三个开源项目的对比,即便很克制的去客观的比较,也很难有信服力

Nacos配置中心原理

动态配置管理是Nacos的三大功能之一,通过动态配置服务,我们可以在所有环境中以集中和动态的方式管理所有应用程序或服务的配置信息。动态配置中心可以实现配置更新时无需重新部署应用程序和服务即可使相应的配

python使用jieba实现中文文档分词和去停用词

分词工具的选择:  现在对于中文分词,分词工具有很多种,比如说: jieba分词、thulac、SnowNLP等。在这篇文档中,笔者使用的jieba分词,并且基于python3环境,选择jieba分词

css3有内置图标吗?

css3有内置图标吗?css3没有内置图标,所有的图标都需要用户自己下载后使用。但是我们可以通过设置特殊字符,来实现图标的样式。(推荐学习:CSS视频教程)下面是一个特殊字符来代替图标的案例:

css3有那些内置函数?

css函数属性函数:attr();背景图片函数:linear-gradient()、radial-gradient()、conic-gradient()、repeating-linear-gradie

Elasticsearch 7.2 在 Laravel 中实践 --经纬度及距离查询

上一篇文档中选择的扩展,该扩展已有方法whereGeoDistance查询指定经纬度范围内的数据,但是无法根据距离排序,由于依赖于laravel-scout,而该扩展并没有实现Geo的sort,但是经

Lumen日志接入 Elasticsearch

日志分析系统的安装请看部署章节,安装elasticsearch组件composerrequireelasticsearch/elasticsearch修改config/logging.php添加一个e

ElasticSearch 亿级数据检索案例实战

一、前言数据平台已迭代三个版本,刚开始遇到很多常见的难题,终于有时间整理一些已完善的文档了,在此分享一下。希望能帮助大家少走些弯路,在此篇幅中偏重于ES的优化。关于HBase,Hadoop的设计优化估

写速度提升20%,Elasticsearch 创始人给腾讯云发感谢信

近日,Elasticsearch的创始人兼首席执行官ShayBanon向腾讯云发出了一封感谢信,专程对腾讯团队为Elasticsearch开源社区做出的贡献表示了感谢。据了解,腾讯工程师通过提交代码,

Elasticsearch 亿级数据检索性能优化案例实战!

一、前言数据平台已迭代三个版本,从头开始遇到很多常见的难题,终于有片段时间整理一些已完善的文档,在此分享以供所需朋友实现参考,少走些弯路,在此篇幅中偏重于ES的优化,关于HBase,Hadoop的设计

PB级数据实时查询,滴滴Elasticsearch多集群架构实践

Elasticsearch是基于Lucene实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。Elastic 公司开源的一系列产品组成的ElasticStack,可以为日志服务、搜索引擎、系统监

Elasticsearch 数据写入原理分析

前言最近TL分享了下《Elasticsearch基础整理》https://www.jianshu.com/p/e82…,蹭着这个机会。写个小文巩固下,本文主要讲ES->Lucene的底层结构,然后详细

27 亿电子邮件地址外泄!ElasticSearch数据库再次中招

数据泄露事件近年来时有发生,哪怕是大体量的Facebook也未能幸免。可以说数据泄露无论是对用户还是对企业来讲都造成了一定的损失和影响。针对频频发生的数据泄露事件,不少企业都加大网络安全建设力度,也起

腾讯万亿级 Elasticsearch 技术解密

作者: johngqjiang,腾讯TEG云架构平台部研发工程师Elasticsearch(ES)作为开源首选的分布式搜索分析引擎,通过一套系统轻松满足用户的日志实时分析、全文检索、结构化数据分析等多

Elasticsearch 与传统关系型数据库的对比、倒排索引原理解析

Elasticsearch和传统关系型数据库的对比Elasticsearch中的概念与关系型数据库对比 RelationalDB Databases Tables Rows Columns 关系

Elasticsearch的sql化使用

Elasticsearch-sql的安装、使用本文以Elasticsearch-5.1.2为例elasticsearch-sql下载地址:https://github.com/NLPchina/e..

Elasticsearch5.0 安装问题集锦

Elasticsearch5.0安装问题集锦elasticsearch5.0安装过程中遇到了一些问题,通过查找资料几乎都解决掉了,这里简单记录一下,供以后查阅参考,也希望可以帮助遇到同样问题的你。问题

Elasticsearch负载均衡节点

Elasticsearch负载均衡节点elasticSearch的配置文件中有2个参数:node.master和node.data。这两个参数搭配使用时,能够帮助提供服务器性能。组合一:该node服务

Python中的系统内置模块笔记

系统内置模块就是按照python解释器后,系统给提供的模块 在需要时可以导入后使用,例如:json,re,os。。。 序列化模块 序列化是指可以把python中的数据,以文本或二进制的方式进行转

模块化编程-内置函数笔记

内置函数 内置函数就是在系统安装完python解释器时,由python解释器给提供好的函数 range()函数 如果你确实需要遍历一个数字序列,内置函数range()会派上用场。它生成算术级数

模块化编程-内置函数笔记

内置函数 内置函数就是在系统安装完python解释器时,由python解释器给提供好的函数 range()函数 如果你确实需要遍历一个数字序列,内置函数range()会派上用场。它生成算术级数

模块化编程-内置函数笔记

内置函数 内置函数就是在系统安装完python解释器时,由python解释器给提供好的函数 range()函数 如果你确实需要遍历一个数字序列,内置函数range()会派上用场。它生成算术级数

模块化编程-内置函数笔记

内置函数 内置函数就是在系统安装完python解释器时,由python解释器给提供好的函数 range()函数 如果你确实需要遍历一个数字序列,内置函数range()会派上用场。它生成算术级数