2009-06-25 24 views
0

私の構造:各カテゴリにはテキストがあります。これらのテキストは独自のエントリです。したがって、テーブル 'カテゴリ'とテーブル 'テキスト'。各カテゴリに約90のテキストがあり、各テキストは約300文字です。PHPを使用してmysqlからキーワードを動的に作成

私がしたいのは、カテゴリのメタタグ(キーワード)を作成することです。どのように>すべての関連する 'テキスト'を取得し、すべての単語をランク付けし、トップ10の単語を取る。これらのトップ10は、カテゴリのキーワードメタタグになります。

今や、このトップ10の単語を取得する方法>。現在>私は各テキスト(フルテキスト)が単語単位の配列に分割されていることを知っています。この配列(php)はかなり長くなります。その後、私は各単語の頻度を取って、頻度でそれを再度ランク付けします。 Voilaトップ10単語。

私はこの手順をテストしていませんが、少しはかかるかもしれません。それはキャッシュされるので毎週1回しか実行されませんが、依然としてタイムアウトを取得したくありません。

あなたはどんなヒントを持っていますか?どんな助けもありがたい。

おかげで、

モーリス

+0

変数$テキストにスペースで区切られたリストとしてすべての単語を保存したと仮定するつもりです検索エンジンがこれ以上使用されないというコンベンションです。http://www.searchengineguide.com/richard-ball/meta-keywords-a.php –

+0

あなたは正しいです:)それはまた、私が私の中で使うべきキーワードのようなものでしたマーケティング。とにかくthx! –

答えて

0

OK]をクリックして、今私は上記のコメントに私の平和と述べてきたことを、私はあなたのアルゴリズムを取得します。

これを行うにはいくつかの方法がありますが、私は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); 
+0

ああ、私が思っていたよりもうれしい、thx! –

関連する問題