Sli*_*lim 5 postgresql full-text-search
我正在尝试在 Postgres 上使用 FTS 在数据库中查找字符串:
select name
from users
where to_tsvector('simple', name) @@ to_tsquery('simple', 'ad:*')
Run Code Online (Sandbox Code Playgroud)
但:*
搜索只有以广告开头的词。
我发现这个问题 Get partial match from Get partial match from GIN indexed TSVECTOR
column column。
但是没有提到如何使用FTS解决中后缀匹配的问题?
全文搜索中的“Full”表示匹配完整单词,而不是单词的部分内容
您应该使用 RegExp 或 LIKE 或三元组匹配来代替
您可以通过反转索引中的单词并反转查询来模拟后缀匹配,但这会占用更多空间:
select
reverse('brown fox')::tsvector @@ (reverse('rown') || ':*')::tsquery --true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4055 次 |
最近记录: |