Как мне использовать pg_trgm, чтобы быть более допустимым
Я использовал pg_trgrm для проверки совпадения строк, и я очень доволен результатами. Но это не совсем так, как я хочу. Я хочу, чтобы поиски типа "poduto" находили "продукты" (r отсутствовал). А также, что "sofáa" находит "диван". Я использую Posgresql 9,6.
Он находит "vermelho", когда я набираю "vermelo" (h отсутствует). И он находит "диван", когда я набираю "мягкий". Кажется, что только некоторые буквы в середине могут быть опущены, и я всегда могу пропустить окончательную букву. Я хочу быть в состоянии пропустить любую букву в середине слова. А также иметь возможность совершить "две ошибки" в случае софы и софы (я использовал акцент и использовал еще одну "а").
1 ответ
Решение состоит в том, чтобы снизить pg_trgm.similarity_threshold
(или же pg_trgm.word_similarity_threshold
если вы используете <%
или же %>
).
Тогда слова с более низким сходством также будут найдены.