2016-01-11 83 views
1

我想用匹配来查找文章,并计算有多少关键字匹配这篇文章。例如,如果我的文章是'今天的天气非常好',并且我的关键字'今天很好',那么计数应该是2,我该怎么做。当我使用下面的代码时,它会统计多少文章匹配,但不会计算文章中匹配多少个关键字。如何统计内容mysql匹配中的单词匹配?

<?php 
 
SELECT COUNT(*) FROM table WHERE MATCH (article) AGAINST ('today nice'); 
 
?>

回答

0

请检查下面的例子。

1.包含单词“今天”和“好”获取计数

SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('+today +nice' IN BOOLEAN MODE); 

2.含有单词“今天”,但排名列获取计数更高,如果它们也包含“好”

SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('+today nice' IN BOOLEAN MODE); 

获取计数包含词‘今天’或‘好’

SELECT COUNT(*) FROM table WHERE MATCH(article) AGAINST('today nice' IN BOOLEAN MODE); 

欲了解更多详情,你可以骑MYSQL Documentation

希望这对你有帮助!

+0

感谢您的回复。但我想要统计一行中有多少单词匹配,您的示例正在计算多少行匹配。 – conan

+0

您的意思是“每行字段中的字数”? –

0

'the'替换为您尝试计数的子字符串值。用您的列名称替换`text`

SELECT (LENGTH(`text`) - LENGTH(REPLACE(`text`, 'the', '')))/LENGTH('the') AS total 
FROM someTable;