gpt4 book ai didi

postgresql tsvector 部分文本匹配

转载 作者:行者123 更新时间:2023-11-29 13:23:04 27 4
gpt4 key购买 nike

我正在尝试创建一个 PostgreSQL 查询来查找 tsvector 列中的部分文本。

我有一个像这样的 tsvector 值 "'89' 'TT7' 'test123'" 我需要找到包含“%es%”的任何行。

我该怎么做?

我试过了

select * from use_docs_conteudo
WHERE textodados @@ to_tsquery('es')

最佳答案

看起来您想要使用快速 ILIKE 查询来进行野外匹配。 pg_trgm将是正确的工具。您可以使用 POSIX regex rules用于定义您的查询。

WITH data(t) AS ( VALUES
('test123! TT7 89'::TEXT),
('test123, TT7 89'::TEXT),
('test@test123.domain TT7 89'::TEXT)
)
SELECT count(*) FROM data WHERE t ~* 'es' AND t ~* '\mtest123\M';

结果:

 count 
-------
3
(1 row)

现有答案的链接:

关于postgresql tsvector 部分文本匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38233493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com