和关系型数据库(MySQL)术语的区别
| ElasticSearch | RDBMS(MySQL) |
|---|---|
| 索引 Index | 表 Table |
| 文档 Document | 行 Row |
| 字段 Field | 列 Column |
| 映射 Mapping | 表结构 Schema |
| DSL | SQL |
正排索引和倒排索引的区别
正排索引(forward index):document -> content
倒排索引(inverted index):content -> document
倒排索引的级别:
- record-level 包含「单词 -> 文档」的映射关系;
- word-level 包含「单词 -> 文档和单词在文档中的位置」的映射关系。
例如存在以下数据:
| ID | Content |
|---|---|
| 1 | Mastering Elasticsearch |
| 2 | Mastering Go |
| 3 | Elasticsearch Reference |
那么 ID 列的正排索引为:
1 -> (1, "Mastering Elasticsearch")2 -> (2, "Mastering Go")3 -> (3, "Elasticsearch Reference")
Content 列 record-level 级别的倒排索引为:
"Mastering" -> [1, 2]"Elasticsearch" -> [1, 3]"Go" -> [2]"Reference" -> [3]
Content 列 word-level 级别的倒排索引为:
"Mastering" -> [1:0, 2:0]"Elasticsearch" -> [1:1, 3:0]"Go" -> [2:1]"Reference" -> [3:1]
