Pular para o conteúdo principal
O vsql_fuzzystrmatch é um port da extensão fuzzystrmatch do PostgreSQL. Ele responde a duas perguntas diferentes sobre um par de strings: se elas soam parecido e quantas edições as separam. Use-o para correspondência de nomes, correção ortográfica e deduplicação de registros digitados à mão.

Instalar

O vsql_fuzzystrmatch.veb já está no diretório lib/veb/ do servidor se você instalou o VillageSQL com o script de instalação, a imagem Docker ou um tarball de release. Instale-o no servidor com uma única instrução:
Confirme que ele está lá:
Para compilá-lo você mesmo, siga as instruções de compilação no repositório.

O que ela adiciona

Exemplo

Duas grafias do mesmo nome produzem o mesmo código Soundex, e difference pontua a correspondência de 0 a 4:
A distância de edição conta as alterações, em vez disso:
O Metaphone lida com os sons que a grafia esconde, como o Th em Thompson:
O MySQL tem um SOUNDEX() próprio, e a função nativa vence quando você escreve o nome sem qualificação. As duas discordam: SOUNDEX('Ashcraft') retorna A2613, enquanto vsql_fuzzystrmatch.soundex('Ashcraft') retorna A261. A versão do MySQL é documentada como retornando uma string de qualquer comprimento, e a da extensão segue a definição Soundex de quatro caracteres. Qualifique a chamada com o nome da extensão para obter a que você quer. Nenhuma outra função aqui é sobreposta.
O levenshtein_less_equal para assim que a distância real ultrapassa o limite que você deu, e então retorna o limite mais 1, seja qual for a distância real. Com um limite de 2, ele retorna 3 para um par com distância 3 e 3 para um par com distância 7. Leia o limite mais 1 como “mais distantes do que você perguntou”.

Veja também