MySQL PHP: Tingkatkan Levenshtein dengan Pertanyaan SQL Dioptimumkan
Dalam usaha untuk meningkatkan keupayaan carian, algoritma jarak Levenshtein ialah alat yang berharga untuk mencari perkataan yang serupa dengan istilah carian. Walau bagaimanapun, kod PHP di atas nampaknya melakukan pelbagai pertanyaan dan penapisan. Bolehkah kita memperhalusi pendekatan ini?
Memanfaatkan Fungsi Levenshtein MySQL
Untuk mengoptimumkan proses ini, kita boleh memanfaatkan fungsi Levenshtein asli dalam MySQL. Dengan memasukkannya ke dalam pertanyaan kami, kami boleh mengetepikan keperluan untuk berbilang lelaran dan mencapai penapisan terus dalam pangkalan data.
Pertanyaan SQL Dioptimumkan
Berikut ialah pertanyaan SQL yang disemak semula yang memanfaatkan fungsi Levenshtein:
mysql_query("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
Dalam pertanyaan ini, $word ialah rentetan yang terlepas untuk menghalang suntikan SQL. Fungsi levenshtein() membandingkan perkataan input dengan setiap istilah dalam jadual perkataan. Klausa BETWEEN menapis perkataan dengan jarak Levenshtein antara 0 dan 4, memberikan kami senarai istilah yang sangat serupa.
Atas ialah kandungan terperinci Bolehkah Fungsi Levenshtein MySQL Mengoptimumkan Pertanyaan Carian PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!