我正在尝试使用 Postgresql 运行全文查询,该查询可以使用通配符满足部分匹配。
在搜索词之后有一个后缀通配符似乎很容易,但是我不知道如何指定前缀通配符。
例如,我可以使用类似的东西很容易地执行后缀搜索。
SELECT "t1".*
FROM "t1"
WHERE (to_tsvector('simple', "t1"."city") @@ to_tsquery('simple', 'don:*') )
应该返回匹配“伦敦”的结果
但是我似乎无法进行前缀搜索,例如...
SELECT "t1".*
FROM "t1"
WHERE (to_tsvector('simple', "t1"."city") @@ to_tsquery('simple', ':*don') )
理想情况下,我希望在搜索词的开头和结尾添加一个通配符,例如...
SELECT "t1".*
FROM "t1"
WHERE (to_tsvector('simple', "t1"."city") @@ to_tsquery('simple', ':*don:*') )
我可以使用 LIKE 条件,但是我希望从 Postgres 中全文搜索功能的性能中受益。