2016-01-11 112 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;