【ElasticSearch框架学习】倒排索引 详解

youzgLogo

定义:

倒排索引 源于实际应用中需要根据 属性的值 来查找 记录
这种 索引表 中的 每一项 都包括 一个属性值具有该属性值的各记录的地址
由于不是由记录来确定属性值,而是由 属性值 来确定 记录的位置,因而称为 倒排索引(inverted index)
带有倒排索引的文件 被称为 倒排索引文件,简称 倒排文件(inverted file)


ES中的 倒排索引:

而在ElasticSearch中,也同样用到了 倒排索引 这种结构
通过这种结构,ES能够筛选出 特定关键词 的 所在文档
且能够区别出每个匹配文档的 匹配程度


举个栗子:

例子

现有如下 两个文档内容:

  • Every day, I just imagine a future where I can be with you
  • Monika give you everlasting love
文档1 文档2
Every
day
I
just
imagine
a
future
where
I
can
be
with
you
Monika
give
everlasting
love

那么,我们若是搜索 just love Monika,就会根据上面的 倒排表,进行匹配:

文档1 文档2
just
love
Monika

搜索结果为:

  1. 两个文档都匹配
  2. 文档2的匹配程度 > 文档1的匹配程度
原文地址:https://www.cnblogs.com/codderYouzg/p/13765649.html