Я пытаюсь выполнить поиск, который будет отсортирован по релевантности.
Допустим, поисковый термин содержит 3 слова: A, B и C. То, что я пытаюсь сделать, это проверить, присутствует ли поисковый термин в результатах SELECT, и если да, это повысит его рейтинг.
ORDER BY CASE
(
WHEN search_word_A_is_present THEN +1
WHEN search_word_B_is_present THEN +1
WHEN search_word_C_is_present THEN +1
ELSE 0
END
)
DESC
Хотя нет синтаксической ошибки, и поиск запускается и сортируется по чему-то (что отличается от того, что я хочу), но я не уверен, что добавляется, если что-нибудь. Как бы я узнал, каков окончательный ранг (сумма) в конце для каждого результата? Это правильный способ сделать это?