> 데이터 베이스 > MySQL 튜토리얼 > MySQL 전체 텍스트 검색 결과를 관련성에 따라 정렬하려면 어떻게 해야 합니까?

MySQL 전체 텍스트 검색 결과를 관련성에 따라 정렬하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-11-03 02:19:29
원래의
999명이 탐색했습니다.

How can I sort MySQL fulltext search results by relevancy?

MySQL 전체 텍스트 검색 결과를 관련성에 따라 정렬

MySQL을 사용할 때 정확한 결과 정렬을 위해서는 LIKE와 전체 텍스트 검색의 차이점을 이해하는 것이 중요합니다.

제공된 쿼리에서:

$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";
로그인 후 복사

LIKE 연산자는 전체 텍스트 검색이 아닌 부분 일치에 사용됩니다. 전체 텍스트 검색을 수행하려면 MATCH(...) AGAINST(...) 구문을 사용하십시오.

예:

$query="SELECT * from `vocabulary` WHERE MATCH(translation) AGAINST('+word')";
로그인 후 복사

MATCH 함수는 다음과 같은 일치 점수를 반환합니다. 관련성의 근사치로 사용됩니다. 이 점수는 결과를 정렬하는 데 사용될 수 있습니다. 예:

$query="SELECT *, MATCH(translation) AGAINST('+word') AS score FROM `vocabulary` ORDER BY score DESC";
로그인 후 복사

이 쿼리는 관련성에 따라 결과를 정렬하며 가장 높은 점수를 받은 일치 항목이 먼저 나타납니다.

위 내용은 MySQL 전체 텍스트 검색 결과를 관련성에 따라 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿