ElasticSearch的倒排索引是什么?

倒排索引的底层是通过FST数据结构实现的,是通过分词策略,对词和文章映射产生映射关系表,词典加映射关系表就是倒排索引,
Lucene创建索引的原理

Lucene创建索引是基于倒排索引原理实现的

首先将原文档进行分词处理,形成一个个单独的单词
然后取出标点符号以及停词,形成词元
词元进行转换小写
将得到的词创建一个词典,按照字母顺序排序,并合并相同的词,最终形成一个倒排索引文档。

ES的keyword和text的区别

keyword:不分词,直接建立索引,支持模糊查询,精确查询,聚合查询:通常用来保存手机号,年龄,名字等需要直接保存完整数据的场景
text:分词后建立索引,不支持聚合查询,通常用来储存全文搜索的数据,例如地址,文章内容。

ES的优势

是基于Lucene的开源搜索引擎,它解决了原生的Lucene使用的不足,优化了Lucene的调用方式。
分布式的实时文件存储,每个字段都被索引并可被搜索
支持实时分析搜索
可以扩展到上百台服务器,处理PB级结构化或非结构化数据
通过简单的 RESTful API、可以跟各种语言的客户端甚至命令行进行交互
上手非常容易,只需很少的学习就可以在生产环境中使用

倒排索引的创建流程;

首先将原文档进行分词处理,形成一个个单独的单词
然后取出标点符号以及停词,形成词元
词元进行转换小写
将得到的词创建一个词典,按照字母顺序排序,并合并相同的词,最终形成一个倒排索引文档。

Es/Lucene为什么这么快

ES是基于Lucene的全文检索引擎,它采用的是倒排索引结构,在存储时先对文档进行分词,再做一些标点符号去除,大小写时态转换等优化处理,最后按照字母顺序去重排序,形成一个倒排索引文档,我们在检索时,就可以通过二分查找的方式找到目标值。

Es用到了什么数据结构:

Es用到了数据索引存储结构,底层是基于倒排索引实现的。

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

IT_Arfan 微信支付

微信支付

IT_Arfan 支付宝

支付宝

IT_Arfan 贝宝

贝宝