MySQL PHP: 最適化された SQL クエリによるレーベンシュタインの強化
検索機能の強化を図る上で、レーベンシュタイン距離アルゴリズムは、検索語に似た単語を見つける。ただし、上記の PHP コードは複数のクエリとフィルタリングを実行しているようです。このアプローチを改良できますか?
MySQL のレーベンシュタイン関数の活用
このプロセスを最適化するために、MySQL のネイティブ レーベンシュタイン関数を利用できます。これをクエリに組み込むことで、複数回の反復の必要性を回避し、データベース内で直接フィルタリングを実行できます。
最適化された SQL クエリ
次に、改訂された SQL クエリを示します。レーベンシュタイン関数を利用します:
mysql_query("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
このクエリでは、$word はエスケープ文字列です。 SQLインジェクション。 levenshtein() 関数は、入力単語と単語テーブル内の各用語を比較します。 BETWEEN 句は、レーベンシュタイン距離が 0 ~ 4 の単語をフィルターで除外し、類似性の高い用語のリストを提供します。
以上がMySQL のレーベンシュタイン関数は PHP 検索クエリを最適化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。