Postgresql全文(pg_trgm)可以更好地处理精确匹配?

Postgresql全文(pg_trgm)可以更好地处理精确匹配?,postgresql,full-text-search,Postgresql,Full Text Search,所以我有一个简单的场景。我有一张场地表(活动场地等)。我的查询如下所示: SELECT * FROM venues WHERE venues.name % 'Philips Arena' ORDER BY similarity(venues.name, 'Philips Arena') DESC 这在技术上是可行的,我得到了飞利浦竞技场作为第一个结果,但我也得到了很多其他不应该被建议的结果。比如“TGE竞技场”和“LG竞技场”。我宁愿他们被排除在外。此外,如果我只搜索“竞技场”,我仍然希望得到

所以我有一个简单的场景。我有一张场地表(活动场地等)。我的查询如下所示:

SELECT * FROM venues WHERE venues.name % 'Philips Arena' ORDER BY similarity(venues.name, 'Philips Arena') DESC
这在技术上是可行的,我得到了飞利浦竞技场作为第一个结果,但我也得到了很多其他不应该被建议的结果。比如“TGE竞技场”和“LG竞技场”。我宁愿他们被排除在外。此外,如果我只搜索“竞技场”,我仍然希望得到建议。但是如果结果中有明显的异常值,比如上面例子中的飞利浦竞技场,我只想返回它


你知道我该怎么做吗?我希望pg_trgm有这样的设置。谢谢你的帮助。

也许它会帮助你。带“A”的单词比其他单词更重要

SELECT title, ts_rank_cd(fts,q)
FROM titles, to_tsquery('something:B|somebody:B|important:A') q
WHERE fts @@ q ORDER BY ts_rank_cd DESC, Length(title) LIMIT 10;

当OP询问pg_trgm扩展时,这个答案使用全文搜索-这些是完全不同的概念。这一个的任何更新?