관련성 향상을 위해 MySQL 전체 텍스트 검색에서 필드 우선순위 지정
"keywords"와 "content"라는 두 개의 열이 있는 상황이 발생한다고 가정해 보겠습니다. ," 테이블과 두 열에 걸쳐 있는 기본 전체 텍스트 인덱스입니다. 그러나 "키워드" 열에 특정 용어가 포함된 행이 "콘텐츠" 열에 포함된 검색어보다 관련성이 더 높은 행을 제공하려고 합니다.
"일치 대상"을 사용하는 맥락 내에서 이 작업을 수행하려면 구문을 사용하면 다각적인 접근 방식을 구현할 수 있습니다.
여러 전체 텍스트 색인 생성:
3개의 전체 텍스트 색인 설정:
가중 관련성 계산 활용:
쿼리에서 "키워드"와 "콘텐츠" 일치 항목 모두에 대한 관련성 점수를 별도로 검색합니다. 그런 다음 가중치 추가를 사용하여 이러한 점수를 결합하고 "키워드" 관련성에 더 높은 가중치를 부여합니다.
SELECT id, keyword, content, MATCH (keyword) AGAINST ('watermelon') AS rel1, MATCH (content) AGAINST ('watermelon') AS rel2 FROM table WHERE MATCH (keyword,content) AGAINST ('watermelon') ORDER BY (rel1*weight_factor)+(rel2) DESC
이 접근 방식을 사용하면 "키워드" 열의 중요성에 우선순위를 지정할 수 있습니다. MySQL 전체 텍스트 검색 쿼리에서 문서 관련성을 결정합니다. 계산의 가중치 요소를 사용하면 원하는 열에서 일치하는 용어의 우선 순위를 미세 조정할 수 있습니다.
위 내용은 관련성을 높이기 위해 MySQL 전체 텍스트 검색에서 필드의 우선 순위를 어떻게 지정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!