mysql - упорядочить по релевантности и просмотрам - PullRequest
0 голосов
/ 13 января 2010

Я видел, что здесь много постов "порядок по релевантности" ... Я эту часть проработал ... Я бы хотел добиться результатов поиска, которые сначала упорядочены по релевантности, а затем по просмотрам .

Например, если я искал 'собака'

и мои результаты имели одинаковый уровень релевантности для "собаки", тогда я бы хотел упорядочить их по представлениям.

Вот мой SQL на данный момент - не стесняйтесь использовать другой подход, если вы можете придумать лучший способ.

select * from articles where match(title, description, tags)
  against ('dog' in boolean mode) ORDER BY match(title, description, tags)
  against ('dog' in boolean mode) DESC

1 Ответ

1 голос
/ 13 января 2010

Сделать views поле в articles, увеличить его при просмотре записи (update articles set views = views + 1 where id=..., а затем добавить в order by предложение:

...order by  match(...) against (...) desc, views desc

Если у вас есть таблицы журналов, вы можете их использовать, но MySQL плохо работает с большими таблицами журналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...