> 데이터 베이스 > MySQL 튜토리얼 > MySQL 전체 텍스트 검색 결과의 관련성을 어떻게 향상시킬 수 있습니까?

MySQL 전체 텍스트 검색 결과의 관련성을 어떻게 향상시킬 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-03 06:41:02
원래의
286명이 탐색했습니다.

How Can I Improve the Relevancy of My MySQL Fulltext Search Results?

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

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