所以我有一个简单的场景。我有一张场地表(活动场地等)。我的查询看起来像:
SELECT * FROM venues WHERE venues.name % 'Philips Arena' ORDER BY similarity(venues.name, 'Philips Arena') DESC
这在技术上是可行的,我得到飞利浦竞技场作为第一个结果,但我也得到了大量不应该建议的其他结果。比如“TGE Arena”和“LG Arena”。我宁愿他们被排除在外。另外,如果我只搜索“竞技场”,我仍然希望得到建议。但是,如果结果中有明显的异常值,例如上面示例中的 Philips Arena,我只想返回它。
任何想法我怎么能做到这一点?我希望 pg_trgm 有这样的设置。谢谢你的帮助。