和关系型数据库(MySQL)术语的区别

ElasticSearch RDBMS(MySQL)
索引 Index 表 Table
文档 Document 行 Row
字段 Field 列 Column
映射 Mapping 表结构 Schema
DSL SQL

正排索引和倒排索引的区别

正排索引(forward index):document -> content
倒排索引(inverted index):content -> document

倒排索引的级别:

  1. record-level 包含「单词 -> 文档」的映射关系;
  2. word-level 包含「单词 -> 文档和单词在文档中的位置」的映射关系。

例如存在以下数据:

ID Content
1 Mastering Elasticsearch
2 Mastering Go
3 Elasticsearch Reference

那么 ID 列的正排索引为:

  1. 1 -> (1, "Mastering Elasticsearch")
  2. 2 -> (2, "Mastering Go")
  3. 3 -> (3, "Elasticsearch Reference")

Content 列 record-level 级别的倒排索引为:

  1. "Mastering" -> [1, 2]
  2. "Elasticsearch" -> [1, 3]
  3. "Go" -> [2]
  4. "Reference" -> [3]

Content 列 word-level 级别的倒排索引为:

  1. "Mastering" -> [1:0, 2:0]
  2. "Elasticsearch" -> [1:1, 3:0]
  3. "Go" -> [2:1]
  4. "Reference" -> [3:1]