我使用pg_trgrm检查字符串匹配,我对结果非常满意。但它并不是我想要的方式。我希望像“poduto”这样的搜索找到“produtos”(r缺失了)。此外,“sofáa”找到了“沙发”。我正在使用posgresql 9.6。
当我输入“vermelo”(h缺失)时,确实找到了“vermelho”。当我输入“sof”时它确实找到了“沙发”。似乎只剩下中间的一些字母,我总是会错过最后一封信。我希望能够错过任何一个字母。还有能够在sofáa和sofá的情况下犯“两个错误”(我使用了一个口音并使用了一个额外的“a”)。
答案 0 :(得分:0)
如果您使用pg_trgm.word_similarity_threshold
或<%
,解决方案是降低pg_trgm.similarity_threshold
(或%>
。
然后还会找到相似度较低的词语。