diff --git a/ch6-cloud/ch6-x-dist-search-engine.md b/ch6-cloud/ch6-x-dist-search-engine.md index 88c79d9..e92c506 100644 --- a/ch6-cloud/ch6-x-dist-search-engine.md +++ b/ch6-cloud/ch6-x-dist-search-engine.md @@ -25,24 +25,24 @@ elasticsearch 是开源分布式搜索引擎的霸主,其依赖于 Lucene 实 虽然 es 是针对搜索场景来订制的,但如前文所言,实际应用中常常用 es 来作为 database 来使用,就是因为倒排列表的特性。我们可以用比较朴素的观点来理解倒排索引: ``` -┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐ -│ 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 │ -└─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┘ - - - - -┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐ -│ city_id: 3 │──────▶│ doc_id:5123 │ doc_id:9999 │doc_id:10232 │doc_id:54321 │ -└─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┘ +┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┐ +│ 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 │ doc_id:9999 │ +└─────────────────┘ └─────────────┴─────────────┴─────────────┴─────────────┴─────────────┘ + + + + +┌─────────────────┐ ┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┐ +│ 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 中的数据进行查询时,本质就是求多个排好序的序列求交集。