Postgresql前缀通配符全文

前端之家收集整理的这篇文章主要介绍了Postgresql前缀通配符全文前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用 Postgresql运行一个全文查询,可以使用通配符来满足部分匹配.

搜索字词后面有一个后缀通配符似乎很简单,但是我无法弄清楚如何指定一个前缀通配符.

例如,我可以使用类似的东西来轻松地执行后缀搜索

SELECT "t1".* 
FROM "t1" 
WHERE (to_tsvector('simple',"t1"."city") @@ to_tsquery('simple','don:*') )

应该返回结果匹配“伦敦”

但是我似乎没有做一个前缀搜索

SELECT "t1".* 
FROM "t1" 
WHERE (to_tsvector('simple',':*don') )

理想情况下,我想在通配符前面加上搜索字词的前端和末尾,类似…

SELECT "t1".* 
FROM "t1" 
WHERE (to_tsvector('simple',':*don:*') )

我可以使用一个喜欢的条件,但我希望受益于Postgres中全文搜索功能的表现.

全文搜索对于查找单词而非子字符串很有用.

对于子字符串搜索,您最好使用像’%don%’与pg_trgm扩展可用Postgresql 9.1和使用gin(column_name gin_trgm_ops)或使用gist(column_name gist_trgm_ops)索引.但是你的索引会很大(甚至比你的表大几倍),并且写性能不是很好.

select * from depesz blogvery good example of using pg_trgm for substring search.

原文链接:https://www.f2er.com/postgresql/192656.html

猜你在找的Postgre SQL相关文章