ES的数据可被广义的分为两种类型:“types:exect”和“full-text”。

精确值(Exact values)就是指数据未曾加工过的原始值,而Full-text则用于引用文本中的数据。

在查询中,精确值是很容易进行搜索的,但full-text则需要判断文档在“多大程度上”匹配查询请求,换句话讲,即需要评估文档与给定查询的相关度(relevant)。

因此,所谓的full-text查询通常是指在给定的文本域内部搜索指定的关键字,但搜索操作该需要真正理解查询者的目的,例如:

(1) 搜索“UK”应该返回包含“United Kingdom”的相关文档;
(2) 搜索“jump”应该返回包含“JUMP”、“jumped”、“jumps”、“jumping”甚至是“leap”的文档;
(3) 搜索“johnny walker”应该匹配包含“Johnnie Walker”的文档;

为了完成此类full-text域的搜索,ES必须首先分析文本并将其构建成为倒排索引(inverted index),倒排索引由各文档中出现的单词列表组成,列表中的各单词不能重复且需要指向其所在的各文档。

因此,为了创建倒排索引,需要先将各文档中域的值切分为独立的单词(也称为term或token),而后将之创建为一个无重复的有序单词列表。这个过程称之为“分词(tokenization)”。

其次,为了完成此类full-text域的搜索,倒排索引中的数据还需进行“正规化(normalization)”为标准格式,才能评估其与用户搜索请求字符串的相似度。

例如,将所有大写字符转换为小写,将复数统一单数,将同义词统一进行索引等。

另外,执行查询之前,还需要将查询字符串按照同与索引过程的同种格式进行“正规化(normalization)”。

这里的“分词”及“正规化”操作也称为“分析(analysis)”。

Analysis过程由两个步骤的操作组成:首先将文本切分为terms(词项)以适合构建倒排索引,其次将各terms正规化为标准形式以提升其“可搜索度”。这两个步骤由分析器(analyzers)完成。

一个分析器通常需要由三个组件构成:字符过滤器(Character filters)、分词器(Tokenizer)和分词过滤器(Token filters)组成。

  • 字符过滤器:在文本被切割之前进行清理操作,例如移除HTML标签,将&替换为字符等;

  • 分词器:将文本切分为独立的词项;简单的分词器通常是根据空白及标点符号进行切分;

  • 分词过滤器:转换字符(如将大写转为小写)、移除词项(如移除a、an、of及the等)或者添加词项(例如,添加同义词);

Elasticsearch内置了许多字符过滤器、分词器和分词过滤器,用户可按需将它们组合成“自定义”的分析器。

固然,创建倒排索引时需要用到分析器,但传递搜索字符串时也可能需要分析器,甚至还要用到与索引创建时相同的分析器才能保证单词匹配的精确度。

执行full-text域搜索时,需要用到分析器,但执行精确值搜索时,查询过程不会分析查询字符串而是直接进行精确值匹配。

分词器

1、IK分词器也是基于正向匹配的分词算法。

2、IK分词器,基本可分为两种模式,一种为smart模式,一种为非smart模式

3、非smart模式所做的就是将能够分出来的词全部输出;smart模式下,IK分词器则会根据内在方法输出一个认为最合理的分词结果,这就涉及到了歧义判断

4、Lexeme 词元,compareTo(Lexeme other)这个方法决定了词元在链路中的位置

5、LexemePath词元链,分词的一种结果,根据前后顺序组成一个链式结构,其实就是由交叉的Lexeme 组成的有序集合QuickSortSet 。LexemePath也是实现Comparable接口的,用于歧义分析

实例:张三说的确实在理 根据正向匹配可能的词元链:

L1:{张三,张,三}

L2:{说}

L3:{的确,的,确实,确,实在,实,在理,在,理}

Elasticsearc倒排索引(二):分析analysis相关推荐

  1. elasticsearch的映射(mapping)和分析(analysis)

    转发自:http://blog.csdn.net/hzrandd/article/details/47128895 分析和分析器 分析(analysis)是这样一个过程: 首先,表征化一个文本块为适用 ...

  2. Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  3. 数据压缩作业二——分析tga文件

    数据压缩作业二--分析tga文件 文章目录 数据压缩作业二--分析tga文件 一.TGA格式文件概述 二.使用二进制编辑软件分析tga文件 1.TGA文件头(TGA FILE HEADER) 2. 图 ...

  4. 嵌入式Linux作业二分析u-boot-1.1.6在smdk2410开发板上的启动代码

    嵌入式Linux实验 嵌入式Linux作业二 文章目录 嵌入式Linux实验 作业要求 一.作业分析 二.实验步骤 1.下载并解压uboot1.1.6源码 2. 分析该版本下开发板smdk2410的相 ...

  5. Android最佳性能实践(二)——分析内存的使用情况

    由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内.虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存. ...

  6. python爬虫---实现项目(二) 分析Ajax请求抓取数据

    这次我们来继续深入爬虫数据,有些网页通过请求的html代码不能直接拿到数据,我们所需的数据是通过ajax渲染到页面上去的,这次我们来看看如何分析ajax 我们这次所使用的网络库还是上一节的Reques ...

  7. linux cpu监控方案,Linux性能优化和监控系列(二)分析CPU性能

    分析CPU性能 top命令提供了监控CPU性能的基本功能, 如果需要更加深入的挖掘CPU的性能问题, top所提供的信息不足以做到. 由于大多数人认为CPU性能是体现服务器性能的主要因素, 所以在遇到 ...

  8. SEO实战(二) 分析网站在搜索结果中的曝光和点击

    1.简介 本章节主要讲述在网站运营过程中,如何分析网站在百度搜索结果中的曝光与点击数据. 2.操作步骤 主要使用了"百度搜索资源平台" ziyuan.baidu.com. 注册好账 ...

  9. 16福师计算机应用基础在线作业,16春季福师《计算机应用基础》在线作业二分析.doc...

    福师<计算机应用基础>在线作业二 一.单选题(共 40 道试题,共 80 分.) 1. ( )都是系统软件. . OS 和MIS . WPS和UNIX . UNIX和Wor . OS和UN ...

最新文章

  1. 友元类实例:日期类 学生类
  2. 自然语言处理-Word2Vec
  3. 使用sublime text 执行 tcl 出错
  4. Selenium之XPATH轴定位(第三篇)
  5. 最大后验概率和极大似然
  6. 多线程学习-基础(四)常用函数说明:sleep-join-yield
  7. Python assert 断言
  8. ibm服务器和微软,微软与IBM不得不说的事情
  9. 模型评价 - 机器学习与建模中怎么克服过拟合问题?
  10. RabbitMQ集群(单机多实例部署)
  11. 2.图像作为函数 | 裁剪、颜色通道、图像相加_5
  12. python列表-使用
  13. 5.1环绕声有什么不同
  14. 【Hoxton.SR1版本】Spring Cloud Eureka服务注册中心单节点搭建
  15. Android音频系统之音频基础
  16. Java 基础 - List 遍历时为什么不能通过 for 循环进行删除,而使用 Iterator 可以 ?
  17. android 11.0 12.0第三方输入法app设置系统默认输入法
  18. 全网最细最全OLAP之clickhouse笔记|clickhouse文档|clickhouse揭秘文档(三)--clickhouse单机安装和clickhouse集群安装
  19. 六大类二叉树面试题汇总解答
  20. Android--- Drawer and Tab Navigation with ViewPager

热门文章

  1. 【UI】锤子手机-坚果手机-文艺青年版-配色色号
  2. 若依框架客户管理按照创建时间字段排序报错解决方法
  3. 2021年各大互联网大厂年终奖一览表~新年干劲十足
  4. App渠道推广统计:安卓渠道分析和渠道效果统计方法
  5. 汇编语言JMP和LOOP(转移)指令
  6. IC设计工程师的职业规划
  7. python应用范围广吗_Python应用范围seo
  8. 爬取链家北京租房数据并做简单分析
  9. 【论文阅读】Conversations Are Not Flat: Modeling the Dynamic Information Flow across Dialogue Utterances
  10. 评标专家和评标专家库管理暂行办法:评标专家享有的权利