1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-29 08:12:21 +00:00
This commit is contained in:
Xargin 2018-07-11 11:18:00 +08:00
parent 56d30b15e9
commit 91ad20c6f7

View File

@ -25,24 +25,24 @@ elasticsearch 是开源分布式搜索引擎的霸主,其依赖于 Lucene 实
虽然 es 是针对搜索场景来订制的,但如前文所言,实际应用中常常用 es 来作为 database 来使用,就是因为倒排列表的特性。我们可以用比较朴素的观点来理解倒排索引: 虽然 es 是针对搜索场景来订制的,但如前文所言,实际应用中常常用 es 来作为 database 来使用,就是因为倒排列表的特性。我们可以用比较朴素的观点来理解倒排索引:
``` ```
┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐ ┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐
│ order_id: 103 │──────▶│ doc_id:4231 │ doc_id:4333 │ doc_id:5123 │ doc_id:9999 │ │ order_id: 103 │──────▶│ doc_id:4231 │ doc_id:4333 │ doc_id:5123 │ doc_id:9999 │
└─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┘ └─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┘
┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐ ┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────
│ sku_id: 30221 │──────▶│ doc_id:4231 │ doc_id:5123 │ doc_id:5644 │ doc_id:7801 │ │ sku_id: 30221 │──────▶│ doc_id:4231 │ doc_id:5123 │ doc_id:5644 │ doc_id:7801 │ doc_id:9999 │
└─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┘ └─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┴─────────────
┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐ ┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────
│ city_id: 3 │──────▶│ doc_id:5123 │ doc_id:9999 │doc_id:10232 │doc_id:54321 │ │ city_id: 3 │──────▶│ doc_id:5123 │ doc_id:9999 │doc_id:10232 │doc_id:54321 │doc_id:63142 │doc_id:71230 │doc_id:90123 │
└─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┘ └─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────
``` ```
我们对 es 中的数据进行查询时,本质就是求多个倒排列表的交集。 我们对 es 中的数据进行查询时,本质就是求多个排好序的序列求交集。