Di postgres Anda dapat menggunakan fuzzystrmatch kemasan. Ini memberikan levenshtein
fungsi, yang mengembalikan jarak antara dua teks, Anda kemudian dapat melakukan pencocokan fuzzy dengan predikat teladan berikut:
where levenshtein(street_address, '123 Main Avex') <= 1
Ini akan cocok dengan semua catatan, karena jarak antara '123 Main Ave' dan '123 Main Avex' adalah 1 (1 penyisipan).
Tentu saja, nilai 1
di sini hanyalah sebuah contoh dan akan melakukan pencocokan dengan cukup ketat (perbedaan hanya dengan satu karakter). Anda sebaiknya menggunakan angka yang lebih besar atau, yang disarankan oleh @IVO GELOV - gunakan jarak relatif (jarak dibagi panjang).