>데이터 베이스 >MySQL 튜토리얼 >관련성에 따라 MySQL 전체 텍스트 검색 결과를 주문하는 방법은 무엇입니까?

관련성에 따라 MySQL 전체 텍스트 검색 결과를 주문하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-05 07:21:02346검색

How to Order MySQL Fulltext Search Results by Relevance?

관련성에 따라 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.