mysqls MATCH() ... AGAINST()를 사용하여 문제가 발생했습니다.mysqls MATCH() 상단의 전체 수학과 비교() 관련성
내 문제를 해결하기가 더 쉬울 수도 있기 때문에 작은 SQLFiddle을 만들었습니다.
필자는 "Foo Bar Foo"가 "Foo Bar"와 더 관련이있는 이유를 완전히 이해하고 있습니다. 하지만 내가 원했던 것은 "전체 일치"용어는 "전체 일치 및 조금 더"라는 용어보다 높은 관련성으로 처리된다는 것입니다.
title relevance
Foo Bar 0.046829063445329666
Foo Bar Foo 0.031219376251101494
Foo 0
Bar 0
"union"을 사용하여 두 명령문을 결합하지 않고도이 결과를 사용할 수 있습니까?
대답 (고든 리노 프 덕분에) :
SELECT *
FROM FOOBAR
WHERE title LIKE '%Foo Bar%'
ORDER BY (CASE WHEN title LIKE 'Foo Bar%' THEN 1 ELSE 0 end) DESC,
MATCH (title) AGAINST ('Foo Bar' IN BOOLEAN MODE) ASC
내가 원하는 것! 감사! 내 시작점을 약간 수정 한 버전으로 업데이트하겠습니다. :) –