ES倒排索引

Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的 全文搜索引擎 ,基于RESTful web 接口。 Elasticsearch 是用 Java 语言开发的,并作为 Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Lucene 之所以能在搜索中发挥至关重要的作用正是因为 倒排索引
倒排索引中有两个非常重要的概念:
文档( Document ):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商
品信息
词条( Term ):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词
条。例如:我是中国人,就可以分为:我、是、中国人、中国、国人这样的几个词条
创建倒排索引 是对正向索引的一种特殊处理,流程如下:
1.将每一个文档的数据利用算法分词,得到一个个词条
2.创建表,每行数据包括词条、词条所在文档 id 、位置等信息
3.因为词条唯一性,可以给词条创建索引
倒排索引的 搜索流程 如下
1 )用户输入条件 "xxx " 进行搜索。
2 )对用户输入内容 分词 ,得到词条  
3 )拿着词条在倒排索引中查找,可以得到包含词条的文档 id 1 2 3
4 )拿着文档 id 到正向索引中查找具体文档。

倒排索引的结构
根据倒排索引的概念,我们可以用一个 Map来简单描述这个结构。这个 Map 的 Key 的即是分词后的单词,这里的单词称为 Term,这一系列的 Term 组成了倒排索引的第一个部分 —— Term Dictionary (索引表,可简称为 Dictionary)。倒排索引的另一部分为 Postings List(记录表),也对应上述 Map 结构的 Value 部分集合。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值