我的结构:在每个类别中有文本。这些文本是它自己的条目。因此,台“类别”和表“文本”。有在每个类别约90文本,每个文本是大约300个字符。

什么我想要做的是使该类别的meta标签(关键字)。如何>获得所有相关的“文本”和排名所有文字和取前10个字。这些顶部10将是类别的关键词元标记。

现在..特技>如何检索那些顶部10个字。目前>我有每个文本(是全文)将被分成每个字阵列。该阵列(在php)将相当长。之后,我把每个单词的频率和再次排序它的频率。瞧顶部10个字。

我没有测试过这个过程,但我想这可能需要一段时间。它会被缓存,因此将只需要每星期左右运行一次,不过,我不希望得到一个暂停。

你们是否有什么秘诀?任何帮助理解。

谢谢,

莫里斯

有帮助吗?

解决方案

好了,现在我已经说过我上面的评论的和平,我会得到你的算法。

有几种方法可以做到这一点,我将重点介绍一个PHP重的方法,并让其他SOers做一些其他的。

我要假设你已经查询的数据库和存储的所有词作为一个空格分隔的列表为变量$文本

// Sample data in $texts
$texts      = "orange orange apple apple apple banana";
$withCounts = array_count_values( explode( ' ', $texts ) );

asort( $withCounts );
$topTen = array_keys( array_reverse( array_slice( $withCounts, -10 ) ) );

print_r( $topTen );
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top