如何在Postgres中查找相关文本

时间:2019-03-31 13:38:29

标签: postgresql text

我在postgres表中有一堆(几千个)行。每行都有一个字段content。我想快速找到相关的行。我的理解是postgres可以单独完成此操作,但到目前为止,我的所有努力都很缓慢。

目前,我正在执行以下操作:

SELECT SIMILARITY($1, content) AS sim, id 
FROM posts 
WHERE id != $2 
ORDER BY sim DESC 
LIMIT $3 
OFFSET $4;

其中$ 1是我想查找与之相似的行的当前行内容,$ 2是当前行的ID,$ 3和$ 4是任意限制(通常$ 3是5,$ 4是0)。

目前我有以下索引,但是我不知道它是否有效。

CREATE INDEX content_gin_idx ON posts USING GIN(content gin_trgm_ops);

0 个答案:

没有答案