Elasticsearch索引分析
首先把一个文本块分析成一个个单独的词(term),为了后面的倒排索引做准备。然后标准化这些词为标准形式,提高它们的“可搜索性”,这些工作是分析器(analyzers)完成的。一个分析器(analyzers)是一个组合,实现以下三个功能:
- 字符过滤器:字符串经过字符过滤器(character filter)处理,他们的工作是在标记化之前处理字符串。字符过滤器能够去除HTML标记,或者转换
&
为and
- 分词器:分词器(tokenizer)被标记化成独立的词,一个简单的分词器(tokenizer)可以根据空格或逗号将单词分开。
- 词元过滤器:每个词都通过所有标记过滤(token filters)处理,他可以修改词(例如将
Quick
转为小写),去掉词(例如像a
、and
、the
等),或者增加词(例如同义词像jump
和leap
)。
Elasticsearch提供了很多内置的字符过滤器,分词器和标记过滤器。这些可以组合来创建自定义过滤器以应对不同的需求。
分析器
POST _analyze
{"analyzer": "standard","text": "this is a test"
}
使用standard分析器,该结果返回this is a test
,在这个分词器下,将会分析成this
,is
,a
,test
四个词。
使用自定义分词器
POST _analyze
{"tokenizer": "keyword","filter": ["lowercase"], "char_filter": ["html_strip"],"text": "this is a <b>Test</b>"
}
结果返回:
{"tokens": [{"token": "this","start_offset": 0,"end_offset": 4,"type": "<ALPHANUM>","position": 0},{"token": "is","start_offset": 5,"end_offset": 7,"type": "<ALPHANUM>","position": 1},{"token": "a","start_offset": 8,"end_offset": 9,"type": "<ALPHANUM>","position": 2},{"token": "test","start_offset": 10,"end_offset": 14,"type": "<ALPHANUM>","position": 3}]
}
使用keyword
分词器、lowercase
词元过滤器、html_strip
字符过滤器,这三个部分组成一个分词器。
上面的结果返回:
{"tokens": [{"token": "this is a test","start_offset": 0,"end_offset": 21,"type": "word","position": 0}]
}
Elasticsearch索引分析相关推荐
- Elasticsearch索引原理
最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elastic ...
- ElasticSearch评分分析 explian 解释和一些查询理解
ElasticSearch评分分析 explian 解释和一些查询理解 按照es-ik分析器安装了ik分词器.创建索引:PUT /index_ik_test.索引包含2个字段:content和nick ...
- ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询
这篇文章涵盖了如何使用ElasticSearch-Hadoop从Hadoop系统读取数据并在ElasticSearch中对其进行索引. 它涵盖的功能是在最近n天中为每个客户的产品浏览量计数和热门搜索查 ...
- 【Elasticsearch】elasticsearch allocation 分析
1.概述 转载并且补充:elasticsearch allocation 分析 本文主要分析allocation 模块的结构和原理,然后以集群启动过程为例分析 allocation 模块的工作过程 2 ...
- 干货 | Elasticsearch 索引设计实战指南
题记 随着 Elastic 的上市,ELK Stack 不仅在 BAT 的大公司得到长足的发展,而且在各个中小公司都得到非常广泛的应用,甚至连"婚庆网站"都开始使用 Elastic ...
- 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南
1.什么是索引生命周期? 关于人生,有人这么说:"人,生来一个人,死去一个人,所以,人生就是一个人生老病死的简称." 在基于日志.指标.实时时间序列的大型系统中,集群的索引也具备类 ...
- ElasticSearch 索引创建
准备工作 在开始创建索引之前,您需要安装Elasticsearch并启动Elasticsearch服务器.您还需要使用一个REST客户端,例如Kibana或Postman,以便与Elasticsear ...
- Elasticsearch索引安装使用
环境 系统环境:centos7.0 远程链接工具:xshell 服务器: elasticsearch-7.9.3 192.168.137.171 安装介绍 介绍 关系数据库⇒ 数据库⇒表⇒ 行⇒ 列( ...
- 看完这篇文章,再也不怕 Elasticsearch 索引设计
题记 随着 Elastic 的上市,ELK Stack 不仅在 BAT 的大公司得到长足的发展,而且在各个中小公司都得到非常广泛的应用,甚至连"婚庆网站"都开始使用 Elastic ...
最新文章
- 单链表-单链表拆分为A和B链表(尾插法+头插法)
- cglib动态代理和JDK动态代理
- !--#include virtual='head.html'--代码复用
- 2019-03-09-算法-进化(买卖股票的最佳时机 II)
- 基于java SSM springboot景区行李寄存管理系统设计和实现
- 如何将工业现场模拟信号无线传输到PLC/主机?
- mac 自带画图软件(mac 打开预览)
- 既然选择了编程,只管风雨兼程
- 最近五年中秋节后第一天涨幅前十个股在此 沪深三七开 更多规律你来找
- android手机只有三星采用实体键,三星新配件:你终于可以体面地使用实体全键盘了...
- codeup27943 星号实心六边形
- 开美容院是否要选择加盟?
- 数据驱动 - ddt
- 苹果xr如何关机_iPhone XR 的实际体验如何?
- 湍流 Spectrum 与 Cascade 的理解
- 用opencv的人脸识别来分辨明星似乎不太灵光
- 有做过海康威视门禁对接的么?java版本的
- 查看linux系统常用命令
- 手把手教你考取PMP丨PMP入门学些五阶段
- Centos7和Zabbix5.0监控安装教程
热门文章
- Linq使用Group By 1
- android studio 连不上设备,Android Studio-设备已连接但“脱机”
- 快速排序最好,最坏,平均复杂度分析
- PHP设置块注释的模板
- PHP的composer dump-autoload
- jQuery的进行解决layui闪退的问题
- PHP中的预定义常量
- node爬取某app数据_某APP次日留存数据报告
- 事务超时时间无效_阿里分布式事务组件 fescar/seata 对 XA 2PC 的改进及其设计思想...
- 计算机组装与维护 授课计划,计算机课程教学计划