私は以下のようなcsvファイルから大きなデータを取得しています。一般的な単語の出現に応じてcsvデータをソート
url1, comment1
url2, comment2
コメント間の共通語を見つけ、それに応じて各行の共通語の出現に基づいて行をソートする必要があります。
現時点で私は一般的な言葉を得ることができますが、私はメモリを使い果たすことなく共通の単語ごとの行をどのように並べ替えるべきかについて迷っています。
以下は非常に非効率的なコードです。
$data = array();
while (($row = fgetcsv($fh, 1024, ',')) !== false) {
$data[] = $row[1];
}
$str = preg_replace('/\s\s+/', ' ', trim(str_replace(array('!', '?', '.', ','), ' ', implode('', $data))));
$words = explode(" ", $str);
var_dump(array_count_values($words));
CSVデータを繰り返し使用する場合は、PHPで行うのではなく、データベースにロードする方がよいでしょう。ワンタイムローディングコストは、データマイニングがデータベースに格納されるとどれだけ容易になるかによって相殺されます。 –
ありがとう、私はそのアプローチを試してみる – madkris24