Как мне использовать pg_trgm, чтобы быть более допустимым - PullRequest
0 голосов
/ 29 мая 2018

Я использовал pg_trgrm для проверки совпадения строк, и я очень доволен результатами.Но это не совсем так, как я хочу.Я хочу, чтобы поиски типа "poduto" находили "продукты" (r отсутствовал).А также, что "sofáa" находит "диван".Я использую posgresql 9.6.

Он находит "vermelho", когда я печатаю "vermelo" (h отсутствует).И он находит «диван», когда я набираю «мягкий».Кажется, что только некоторые буквы в середине могут быть опущены, и я всегда могу пропустить окончательную букву.Я хочу пропустить любую букву в середине слова.А также иметь возможность совершить «две ошибки» в случае софы и софы (я использовал акцент и использовал еще одну «а»).

1 Ответ

0 голосов
/ 30 мая 2018

Решение состоит в том, чтобы уменьшить pg_trgm.similarity_threshold (или pg_trgm.word_similarity_threshold, если вы используете <% или %>).

Тогда также будут найдены слова с более низким сходством.

...