MySQL全文搜索和得分没有提升结果

时间:2009-08-10 19:35:08

标签: php mysql

我整理了一个非常简单的搜索引擎,基于文章un zend的网站使用全文。我的理解是,如果一个关键字得分为50%或更多,这将被删除。这很好,但我知道我的客户不会喜欢它。我知道他们希望在搜索结果中显示一些关键字。

我的主要问题是,如果我搜索,让我们说“房子”,它不会拉动任何东西;但是我们可以清楚地看到它在不同的地方有一个条目。

这是我的剧本

$sql = "
 SELECT *,
 MATCH(title, content) AGAINST('$keyword') AS score
 FROM articles
 WHERE MATCH(title, content) AGAINST('$keyword')
 ORDER BY score DESC 
";

有没有办法改变分数以获得更准确的恶化结果?如果是这样的话?

由于

1 个答案:

答案 0 :(得分:0)

分数是自动计算的,我认为你不能改变它。尝试做:

$sql = "
 SELECT *,
 MATCH(title, content) AGAINST('" . $keyword . "') AS score
 FROM articles
 WHERE MATCH(title, content) AGAINST('" . $keyword . "')
 ORDER BY score DESC 
";

$sql = "
 SELECT *,
 MATCH(title, content) AGAINST('" . $keyword . "' WITH QUERY EXPANSION) AS score
 FROM articles
 WHERE MATCH(title, content) AGAINST('" . $keyword . "' WITH QUERY EXPANSION)
 ORDER BY score DESC 
";