私は、ユーザーがアイテムをアップロードして「タグ」を追加し、検索結果に表示されるようにするシステムの作成に取り組んでいます。現在、次のように機能するデータベースがあります。
id|title|tags
ユーザーtags
が自分で入力したタグのコンマ区切りのリストです。これはひどい方法だと読んだことがありますが、タグ テーブルを持ち、各 ID をアイテム レコードと共に格納することは、基本的に同じことです。
検索を実行して、最も関連性の高い結果を最初に返すにはどうすればよいですか? 私は現在これを使用していますが、これは機能しますが、関連性でソートしません: SELECT * FROM items WHERE tags LIKE '%$tag%' LIMIT 0,20";
where$tag
は単なるタグで、コンマはありません (ループ内にあります)。