我整理了一个非常简单的搜索引擎,基于文章un zend的网站使用全文。我的理解是,如果一个关键字得分为50%或更多,这将被删除。这很好,但我知道我的客户不会喜欢它。我知道他们希望在搜索结果中显示一些关键字。
我的主要问题是,如果我搜索,让我们说“房子”,它不会拉动任何东西;但是我们可以清楚地看到它在不同的地方有一个条目。
这是我的剧本
$sql = "
SELECT *,
MATCH(title, content) AGAINST('$keyword') AS score
FROM articles
WHERE MATCH(title, content) AGAINST('$keyword')
ORDER BY score DESC
";
有没有办法改变分数以获得更准确的恶化结果?如果是这样的话?
由于
答案 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
";