0

ここに「関連性による並べ替え」の投稿がたくさんあるのを見てきました...その部分を解決しました...達成したいのは、最初に関連性で並べ替えられ、次にビューで並べ替えられた検索結果です。

たとえば、「犬」を検索した場合

そして、私の結果はどちらも「犬」と同じレベルの関連性を持っていたので、ビューで並べ替えたいと思います。

これまでの私の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
4

1 に答える 1

1

にフィールドviewsを作成しarticles、レコードが表示されたときにそれをインクリメントします(update articles set views = views + 1 where id=...、そしてそれをorder by句に追加します:

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

ログテーブルがある場合はそれらを使用できますが、MySQLは大きなログテーブルではうまく機能しません。

于 2010-01-13T13:07:45.037 に答える