ニュースシステムのタグシステムを構築しようとしています。次のようなテーブル構造を完成させました。
CREATE TABLE article_tags (
id int(11) unsigned NOT NULL auto_increment,
tag varchar (255) not null,
primary key (id));
CREATE TABLE article_tags_map (
id int(11) unsigned NOT NULL auto_increment,
tag_id int(11) unsigned not null,
article_id int(11) unsigned not null,
primary key (id));
ここで、article_tagsテーブルのタグ列にフルテキストインデックスを追加するのが理にかなっているのではないかと思っています。
$search = $_POST['search_string'];
$search_result = mysql_query ("SELECT *, MATCH(tag) AGAINST ($search) AS score
from article_tags
WHERE MATCH (tag) AGAINST($search)
order by score desc");
または、LIKE文字と%ワイルドカード文字を使用したほうがよいでしょうか?全文検索を使用する場合、スコアにどのしきい値を使用すればよいかわかりません。