Salah satu pendekatan adalah dengan melihat Jarak Levenshtein antara istilah pencarian dan daftar kata kunci. Ada beberapa contoh bagaimana menerapkan ini di MySQL, misalnya. DI SINI
Karena Anda memiliki katalog yang begitu besar, Anda perlu melihat penerapan filter terlebih dahulu (mungkin berdasarkan pencarian 'LIKE') sehingga Anda tidak mengukur jarak untuk semua 1 juta baris.
Jika Anda memberi peringkat hasil berdasarkan jarak, Anda seharusnya dapat mengurutkan hasil berdasarkan relevansi dengan pencarian.