Я пытаюсь упорядочить результаты поиска более точно.Я указываю строку поиска - например, «Олимпиада в Пекине»
- Если в заголовке столбца указано «Олимпиада в Пекине», к баллу добавляется 100 баллов, в противном случае ничего не добавляется
- Еслистолбец shortDescription содержит «Олимпийские игры в Пекине», затем к баллу добавляется 50, в противном случае ничего не добавляется
- Если в столбце longDescription содержится «Олимпийские игры в Пекине», к баллу добавляется 10, в противном случае ничего не добавляется
В конце максимальный возможный результат для каждой записи будет 160, и я хочу, чтобы результаты упорядочивались по максимальному результату вначале и ограничивались максимум 10 результатами.
Ниже определенно неправильно,но это должно проиллюстрировать то, чего я надеюсь достичь!
SELECT
title,
id,
(
IF((match 'Beijing Olympics' against title)*100) +
IF((match 'Beijing Olympics' against shortDescription)*50) +
IF((match 'Beijing Olympics' against longDescription)*10)
) as score
from listings
order by score desc limit 10