좋아, 그래서 여러 열에서 전체 텍스트 검색을 시도하고 있습니다. 다음과 같이 간단합니다.
SELECT * FROM pages WHERE MATCH(head, body) AGAINST('some words' IN BOOLEAN MODE)
이제 나는 다음과 같이 할 수 있었던 관련성에 따라 순서를 정하고 싶습니다. (몇 개의 단어가 발견 되었습니까?)
SELECT * , MATCH (head, body) AGAINST ('some words' IN BOOLEAN MODE) AS relevance
FROM pages
WHERE MATCH (head, body) AGAINST ('some words' IN BOOLEAN MODE)
ORDER BY relevance
이제 제가 길을 잃은 부분이 head
있습니다. 칼럼 의 관련성에 우선 순위를두고 싶습니다 .
나는 두 개의 관련성 열을 만들 수 있다고 생각합니다. 하나는에 대한 head
것이고 하나는에 대한 것입니다 body
. 그러나 그 시점에서 나는 표에서 다소 동일한 검색을 세 번 수행하고이 함수를 만드는 것에 대해 성능이 중요합니다. 쿼리는 조인되고 다른 테이블과 일치합니다.
내 주요 질문은 관련성을 검색하고 특정 열의 우선 순위를 지정하는 더 빠른 방법이 있습니까? (그리고 보너스로 단어가 열에 나오는 횟수만큼 관련성을 세울 수도 있습니까?)
어떤 제안이나 조언도 좋을 것입니다.
참고 : 나는 이것을 LAMP 서버에서 실행할 것입니다. (현지 테스트에서 WAMP)