MYSQL 전체 텍스트 검색 결과 관련성 향상
MYSQL에서 MATCH(...) AGAINST(...)를 사용하여 전체 텍스트 검색을 수행하면 LIKE 연산자를 사용하는 것보다 관련 결과를 찾는 데 더 강력한 접근 방식입니다. 단순히 문자 시퀀스를 확인하는 LIKE와 달리 전체 텍스트 검색은 기본 인덱스 및 언어 분석을 활용하여 관련성을 기준으로 일치 항목을 식별합니다.
MATCH(...) AGAINST(...) 사용:
다음과 같이 기존 쿼리를 전체 텍스트 검색 쿼리로 바꿉니다.
$query = "SELECT * FROM `vocabulary` WHERE MATCH(translation) AGAINST('word')";
매칭 점수:
MATCH(... ) AGAINST(...) 표현식은 테이블의 각 행에 대해 일치하는 점수를 반환합니다. 점수가 높을수록 관련성이 더 높은 일치 항목을 나타냅니다. 기본적으로 MYSQL은 이 점수를 기준으로 결과를 내림차순으로 정렬합니다(가장 관련성이 높은 것부터).
출력 예:
위의 수정된 쿼리를 사용하면 이제 관련성에 따라 정렬된 결과:
1 | word <- exact match 2 | crossword <- partial matches sorted by matching score 3 | words 4 | wordsmith
MATCH(...) AGAINST(...)로 전체 텍스트 검색을 활용하면 정확하게 일치하는 항목 표시의 우선순위를 효과적으로 지정하고 관련성에 따라 부분 일치 항목의 순위를 지정할 수 있습니다.
위 내용은 MySQL 전체 텍스트 검색 결과의 관련성을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!