• 締切済み

TwitterAPIで取得したデータ内のハッシュタグをタグクラウド化し

TwitterAPIで取得したデータ内のハッシュタグをタグクラウド化したい と考えておりまして、質問いたします。 現在、TwitterAPIを利用して条件にあったフィードを取得し、MySQLに格納しています。 例のように、テキストには一部、「#」の文字列がついたハッシュタグがついてます。 ━━━━━━━ ▼例 id| text 1 | こんにちは はじめまして #aaa 2 | こんにちは さようなら #bbb 3 | ありがとう さようなら #aaa 4 | どうもどうも #aaa #bbb #ddd 5 | ありがとう 6 | おはようございます #ccc ━━━━━━━ 例を見れば、 #aaa は3つ #bbb は2つ #ccc は1つ #ddd は1つ であることが分かりますが、 これをタグクラウド化するために、 MySQLで「ハッシュタグごとにその数を多い順に抽出する」事は可能でしょうか? つまり、SQLを投げる事で、下記のようなデータが帰ってくる方法を知りたく思います。 ━━━━━━━ TAG | COUNT #aaa | 3 #bbb | 2 #ccc | 1 #ddd | 1 ━━━━━━━ ハッシュタグが複数同じデータの中にある場合が悩ましい所です。 良い方法をご存知の方がいらっしゃいましたらご教示の程お願い致します。 よろしくおねがいします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

正規化すればよいのでは? たとえばハッシュ保持テーブルをつくり id| text 1 | #aaa 2 | #bbb 3 | #aaa 4 | #aaa 4 | #bbb 4 | #ddd 6 | #ccc というデータをとっておいてcountすればよいでしょう

doomdoom
質問者

お礼

そうですね、やはり別テーブルで取得するしかないですよね・・・ クエリ一発で抜き出すことができないかと思っていたのですが。 ありがとうございます。