首先把一个文本块分析成一个个单独的词(term),为了后面的倒排索引做准备。然后标准化这些词为标准形式,提高它们的“可搜索性”,这些工作是分析器(analyzers)完成的。一个分析器(analyzers)是一个组合,实现以下三个功能:

  1. 字符过滤器:字符串经过字符过滤器(character filter)处理,他们的工作是在标记化之前处理字符串。字符过滤器能够去除HTML标记,或者转换&and
  2. 分词器:分词器(tokenizer)被标记化成独立的词,一个简单的分词器(tokenizer)可以根据空格或逗号将单词分开。
  3. 词元过滤器:每个词都通过所有标记过滤(token filters)处理,他可以修改词(例如将Quick转为小写),去掉词(例如像aandthe等),或者增加词(例如同义词像jumpleap)。

Elasticsearch提供了很多内置的字符过滤器,分词器和标记过滤器。这些可以组合来创建自定义过滤器以应对不同的需求。

分析器

POST _analyze
{"analyzer": "standard","text": "this is a test"
}

使用standard分析器,该结果返回this is a test,在这个分词器下,将会分析成thisisatest四个词。
使用自定义分词器

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索引分析相关推荐

  1. Elasticsearch索引原理

    最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elastic ...

  2. ElasticSearch评分分析 explian 解释和一些查询理解

    ElasticSearch评分分析 explian 解释和一些查询理解 按照es-ik分析器安装了ik分词器.创建索引:PUT /index_ik_test.索引包含2个字段:content和nick ...

  3. ElasticSearch-Hadoop:从Hadoop到ElasticSearch索引产品视图计数和客户顶部搜索查询

    这篇文章涵盖了如何使用ElasticSearch-Hadoop从Hadoop系统读取数据并在ElasticSearch中对其进行索引. 它涵盖的功能是在最近n天中为每个客户的产品浏览量计数和热门搜索查 ...

  4. 【Elasticsearch】elasticsearch allocation 分析

    1.概述 转载并且补充:elasticsearch allocation 分析 本文主要分析allocation 模块的结构和原理,然后以集群启动过程为例分析 allocation 模块的工作过程 2 ...

  5. 干货 | Elasticsearch 索引设计实战指南

    题记 随着 Elastic 的上市,ELK Stack 不仅在 BAT 的大公司得到长足的发展,而且在各个中小公司都得到非常广泛的应用,甚至连"婚庆网站"都开始使用 Elastic ...

  6. 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南

    1.什么是索引生命周期? 关于人生,有人这么说:"人,生来一个人,死去一个人,所以,人生就是一个人生老病死的简称." 在基于日志.指标.实时时间序列的大型系统中,集群的索引也具备类 ...

  7. ElasticSearch 索引创建

    准备工作 在开始创建索引之前,您需要安装Elasticsearch并启动Elasticsearch服务器.您还需要使用一个REST客户端,例如Kibana或Postman,以便与Elasticsear ...

  8. Elasticsearch索引安装使用

    环境 系统环境:centos7.0 远程链接工具:xshell 服务器: elasticsearch-7.9.3 192.168.137.171 安装介绍 介绍 关系数据库⇒ 数据库⇒表⇒ 行⇒ 列( ...

  9. 看完这篇文章,再也不怕 Elasticsearch 索引设计

    题记 随着 Elastic 的上市,ELK Stack 不仅在 BAT 的大公司得到长足的发展,而且在各个中小公司都得到非常广泛的应用,甚至连"婚庆网站"都开始使用 Elastic ...

最新文章

  1. 单链表-单链表拆分为A和B链表(尾插法+头插法)
  2. cglib动态代理和JDK动态代理
  3. !--#include virtual='head.html'--代码复用
  4. 2019-03-09-算法-进化(买卖股票的最佳时机 II)
  5. 基于java SSM springboot景区行李寄存管理系统设计和实现
  6. 如何将工业现场模拟信号无线传输到PLC/主机?
  7. mac 自带画图软件(mac 打开预览)
  8. 既然选择了编程,只管风雨兼程
  9. 最近五年中秋节后第一天涨幅前十个股在此 沪深三七开 更多规律你来找
  10. android手机只有三星采用实体键,三星新配件:你终于可以体面地使用实体全键盘了...
  11. codeup27943 星号实心六边形
  12. 开美容院是否要选择加盟?
  13. 数据驱动 - ddt
  14. 苹果xr如何关机_iPhone XR 的实际体验如何?
  15. 湍流 Spectrum 与 Cascade 的理解
  16. 用opencv的人脸识别来分辨明星似乎不太灵光
  17. 有做过海康威视门禁对接的么?java版本的
  18. 查看linux系统常用命令
  19. 手把手教你考取PMP丨PMP入门学些五阶段
  20. Centos7和Zabbix5.0监控安装教程

热门文章

  1. Linq使用Group By 1
  2. android studio 连不上设备,Android Studio-设备已连接但“脱机”
  3. 快速排序最好,最坏,平均复杂度分析
  4. PHP设置块注释的模板
  5. PHP的composer dump-autoload
  6. jQuery的进行解决layui闪退的问题
  7. PHP中的预定义常量
  8. node爬取某app数据_某APP次日留存数据报告
  9. 事务超时时间无效_阿里分布式事务组件 fescar/seata 对 XA 2PC 的改进及其设计思想...
  10. 计算机组装与维护 授课计划,计算机课程教学计划