0

我正在尝试为我的新闻系统构建一个标签系统。我已经完成了这样的表结构:

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 和 % 通配符会更好?如果我要使用全文搜索,我不确定我应该为分数使用什么阈值?

4

1 回答 1

1

尝试这个。

SELECT *
from article_tags
WHERE tag like '%$search%'
order by tag desc

或者

 SELECT *
    from article_tags
    WHERE match(tag) against ('%$search%')
    order by tag desc

也看看这个页面,他们谈论全文搜索: http ://devzone.zend.com/26/using-mysql-full-text-searching/

于 2012-10-24T16:32:18.503 回答