집 >데이터 베이스 >MySQL 튜토리얼 >관련성에 따라 MySQL 전체 텍스트 검색 결과를 주문하는 방법은 무엇입니까?
관련성에 따라 MYSQL 전체 텍스트 검색 결과의 순위를 매기는 방법
질문:
어떻게 하나요? MYSQL 전체 텍스트 검색 결과를 관련성에 따라 정렬하고 정확한 일치의 우선순위를 지정하며 부분 일치를 알파벳순으로 정렬하시겠습니까?
답변:
MYSQL에서 전체 텍스트 검색을 수행하려면 MATCH(. ..) LIKE 연산자 대신 AGAINST(...) 구문을 사용합니다. MATCH(...) AGAINST(...)는 각 결과에 대한 관련성 점수를 반환하며, 이는 관련성에 따라 결과를 정렬하는 데 사용할 수 있습니다.
다음은 전체 텍스트 검색을 사용하고 결과를 관련성에 따라 정렬하는 수정된 쿼리입니다. 관련성:
SELECT * FROM `vocabulary` WHERE MATCH(`translation`) AGAINST ('word') ORDER BY MATCH(`translation`) AGAINST ('word') DESC;
이 쿼리는 먼저 정확히 일치하는 결과를 반환한 다음 부분 일치를 관련성 내림차순으로 정렬하여 반환합니다.
예:
다음 어휘 표를 고려하십시오.
id | translation |
---|---|
1 | word |
2 | crossword |
3 | words |
4 | wordsmith |
검색어 "단어"를 사용하여 위의 쿼리를 실행하면 관련성에 따라 정렬된 다음 결과가 반환됩니다.
id | translation |
---|---|
1 | word |
2 | crossword |
3 | words |
4 | wordsmith |
위 내용은 관련성에 따라 MySQL 전체 텍스트 검색 결과를 주문하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!