"Ý bạn là" của Google khá thú vị: Google" Ý bạn là gì? " Thuật toán hoạt động?
Trước đây, tôi đã quản lý để triển khai một cái gì đó tương tự với SOUNDEX mà có thể gần đúng với chức năng đó.
Martin, Martyn và Martine mang lại kết quả đầu ra như nhau từ SOUNDEX
.
Bạn có thể bao gồm tất cả các kết quả từ SOUNDEX
khớp hoặc chọn kết quả họ yêu cầu rồi select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var)
như 'đề xuất' của bạn.
Để tối ưu hóa, bạn có thể tính toán trước SOUNDEX trên các trường tìm kiếm và giữ nguyên đó dưới dạng cột được lập chỉ mục để tránh quét bảng.
Nó không phức tạp như Did You Mean của Google, nhưng bạn có thể đến gần một cách hợp lý rất nhanh.