我有带有标题和描述字段的模型。
我想为标题和描述字段中的所有单词创建一个 GIN 索引
因此,我使用 SQL 以下列方式执行此操作:
STEP1:使用简单的配置创建一个包含标题和描述中所有单词的表
CREATE TABLE words AS SELECT word FROM ts_stat('SELECT to_tsvector(''simple'',COALESCE("articles_article"."title", '''')) || to_tsvector(''simple'',COALESCE("articles_article"."description", '''')) FROM "articles_article"');
STEP2:创建 GIN 索引
CREATE INDEX words_idx ON words USING GIN (word gin_trgm_ops);
第三步:搜索
SELECT word, similarity(word, 'sri') AS sml
FROM words
WHERE word % 'sri'
ORDER BY sml DESC, word;
Result:
word sml
sri 1
srila 0.5
srimad 0.428571
如何在 DJANGO 中执行此操作,而且我必须不断更新 GIN 索引