0

现在使用 Postgres 和 pg_tgrm,如果我做任何相似性(严格的词、词或只是标准),它会根据词来做,所以查询“被毁了”将获得 1 的“毁坏”一词但更少的东西就像“被设计毁了”一样,有没有办法在整个短语上做到这一点。我尝试使用 FTS,但存在的问题是,除非您使用 'ruined | 'ruined by',否则根本不会匹配 'ruined'。通过'但使用 | 让秩序不再重要,这是完全可能的事情。谢谢

4

1 回答 1

0

相似性搜索始终是一种启发式方法;我不认为有办法自动“做正确的事”。

如果我正确阅读了您的问题,并且您还想查找短语组成部分的匹配项,那么也许您应该使用全文搜索对搜索词进行预处理以明确指出您想要什么。

然后ruined by会变成

to_tsquery('ruined | by | ruined <-> by')
于 2020-05-15T05:02:58.197 回答