items
假设一个像这样的 postgresql 表。(keywords
列是类型text[]
)
name account_id keywords
------------------------------
foo1 1 ['k1', 'k2']
foo2 1 ['k1', 'k3']
foo3 2 ['k4', 'k1']
foo4 2 ['k1', 'k6']
items 中的每一行都与 a 相关Account
(该表实际上由 account_id 拆分)。我们想要进行如下查询:“帐户 1 的关键字 k1 的项目”。此查询需要对account_id
和keywords
列的复合 GIN 索引。
实际上,我们需要一个倒排索引,行如下:(每行的键应该是复合的)
(account_id, keyword) --> [item1, item2, ...]
在 postgresql 中创建此索引的正确方法是什么?