효율적인 텍스트 검색을 위한 MySQL Levenshtein
이 기사에서는 효율적인 텍스트 검색을 위해 강력한 Levenshtein 거리 알고리즘을 MySQL에 통합하는 방법에 대해 설명합니다. Levenshtein을 사용하면 데이터베이스에서 주어진 입력 단어와 "유사한" 단어를 찾을 수 있습니다.
설명을 위해 유사한 용어를 찾는 데 사용되는 다음 PHP 코드를 고려해 보세요.
$word = strtolower($_GET['term']); $lev = 0; $q = mysql_query("SELECT `term` FROM `words`"); while ($r = mysql_fetch_assoc($q)) { $r['term'] = strtolower($r['term']); $lev = levenshtein($word, $r['term']); if ($lev >= 0 && $lev < 5) { $word = $r['term']; } }
이 코드는 데이터베이스의 모든 단어를 쿼리하고 각 단어에 대한 Levenshtein 거리를 계산하며 입력과 충분히 유사한 단어를 식별합니다. word.
그러나 이 접근 방식은 모든 행을 가져와서 PHP에서 Levenshtein 계산을 수행해야 하므로 최적이 아닙니다. 효율성을 높이기 위해 MySQL의 기능을 활용하고 Levenshtein 함수를 쿼리에 직접 도입할 수 있습니다.
mysql_qery("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
이 쿼리는 MySQL levenshtein() 함수를 사용하여 입력 단어와 단어 사이의 거리를 계산합니다. 데이터베이스에서. BETWEEN 절을 사용하면 지정된 Levenshtein 거리(이 경우 0~4) 내에 있는 단어만 검색할 수 있습니다.
Levenshtein 함수를 MySQL에 통합하면 PHP에서 필터링을 처리할 필요가 없습니다. , 더 빠르고 효율적인 텍스트 검색이 가능해졌습니다.
위 내용은 MySQL의 Levenshtein 기능은 어떻게 텍스트 검색 효율성을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!