| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> ES细节说明(倒排索引、分词器...) -> 正文阅读 |
|
[大数据]ES细节说明(倒排索引、分词器...) |
传统的数据库每个字段存储单个值,但这对全文检索并不够。文本字段中的每个单词需要被搜索,对数据库意味着需要单个字段有索引多值的能力。最好的支持是一个字段多个值需求的数据结构是倒排索引。 一、倒排索引概念Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。见其名,知其意,有倒排索引,肯定会对应有正向索引。
一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文
为了创建倒排索引,我们首先将每个文档的 content 域拆分成单独的词(我们称它为 词条或 tokens ),创建一个包含所有不重复词条的排序列表,然后列出每个词条出现在哪个文档。结果如下所示: 二、文档搜索早期的全文检索会为整个文档集合建立一个很大的倒排索引并将其写入到磁盘。 一旦新的索引就绪,旧的就会被其替换,这样最近的变化便可以被检索到。
按段搜索的执行流程如下
三、近实时搜索和持久化变更写操作的延时如下图所示
四、文档分析分析包含下面的过程:
分析器执行上面的工作时,分析器实际上是将下面的三个功能封装到了一个包里:
1.测试内置的分析器下面是使用标准分析器,可以看出 2.使用IK分词器首先我们为什么要用IK分词器?因为我们发现默认的分词器对中文的处理不太好,例如下面的,为了解决这种问题,我们可以考虑使用IK分词器。 请点击下载-----》IK分词器的下载地址 但我们会有下面的需求,IK分词器对某些词汇依旧无法识别例如 3.自定义分析器虽然 Elasticsearch 带有一些现成的分析器,然而在分析器上 Elasticsearch 真正的强大之处在于,你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单元过滤器来创建自定义的分析器。
然后在用刚刚创建的索引的分词器来分析下面的语句,发现很成功! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 | -2025/5/11 0:30:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |