rroonga で     生放送コメントを検索してみ             た           てみた12/01/12             1
自己紹介•   HN: てみた temita•   Twitter: @temitan•   興味 : rroonga,Ruby, Rails, Android•   はてダ: http://d.hatena.ne.jp/temita/    ...
ニコ番• ニコニコ生放送のコメントを検索できる• http://niconama.temita.net/12/01/12                        3
きっかけ• 人力最速地震速報を作ってみたい      – ニコニコ生放送とかは情報はやそう・・      – 地震ワードの抽出が必要     地震だ!           → バズッター的な仕組みがいるかな・・           → コメント...
公式枠検索 VS コメント検索• 本家にも検索機能あるけど?• 「かわいい」を検索した結果12/01/12                 5
なぜ rroonga?•   KVS のような簡単な検索エンジンがほしい•   動的に構築して高速に検索したい•   Ruby であれこれ操作したい•   rroonga にはチュートリアルがある!12/01/12               ...
rroonga を選択するときは?• rroonga はサーバ型ではなくて組み込み型      – 更新しながら参照にするのに強い           • 参照ロックフリー!      – レプリケーション機能は持っていない          ...
システム構成   ニコ生コメント     サーバ                          検索専用                 Ruby on Rails        Ruby                 passenger...
テーブルとか            Lives              id    Community       Live_url      Live_title   Visit_count Come_count              ...
コメントからキーワードタグ生        成• 全部のコメントからタグ生成      – Groonga が持っている語彙表から取ってくる    terms = Groonga[“Terms”]    terms.each do |recor...
Select の書き方• select でカジュアルに検索• 10 分間の [ おっさん ] コメントを検索するoffset_time = 600w = " おっさん "time_before = Time.now - offset_timer...
使い方の参考にしたもの• 本家チュートリアル   – Select の使い方はここでわかる• ソースコード   – ドキュメントにないことはソースコードにあ     る   – るりまサーチとドキュメント   – rroonga 本体とテストコ...
まとめ?• rroonga  – rroonga は小規模 ~ 中規模向き  – 更新の激しいシステムに使える  – Mailing Lists で質問すると幸せになれる• コメント検索は楽しい
ご清聴ありがとうございま                した12/01/12                  14
Upcoming SlideShare
Loading in …5
×

Groonga勉強会3 生放送でコメント検索してみた

1,323 views

Published on

Try to search listener commetns on broadcasting with rroonga.
It's used for groonga benkyokai3.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,323
On SlideShare
0
From Embeds
0
Number of Embeds
412
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Groonga勉強会3 生放送でコメント検索してみた

  1. 1. rroonga で 生放送コメントを検索してみ た てみた12/01/12 1
  2. 2. 自己紹介• HN: てみた temita• Twitter: @temitan• 興味 : rroonga,Ruby, Rails, Android• はてダ: http://d.hatena.ne.jp/temita/ ↑[ あとで書く ] 完全に一致12/01/12 2
  3. 3. ニコ番• ニコニコ生放送のコメントを検索できる• http://niconama.temita.net/12/01/12 3
  4. 4. きっかけ• 人力最速地震速報を作ってみたい – ニコニコ生放送とかは情報はやそう・・ – 地震ワードの抽出が必要 地震だ! → バズッター的な仕組みがいるかな・・ → コメントを検索できたほうが面白そう 震度4 → ニコ番 はあ る! – プッシュ配信が必要 → アラート通知のような仕組みがいるかな・・ → 通知ツールのほうが面白そう・・ → ニコニコール( Web 生放送通知ツール)12/01/12 4
  5. 5. 公式枠検索 VS コメント検索• 本家にも検索機能あるけど?• 「かわいい」を検索した結果12/01/12 5
  6. 6. なぜ rroonga?• KVS のような簡単な検索エンジンがほしい• 動的に構築して高速に検索したい• Ruby であれこれ操作したい• rroonga にはチュートリアルがある!12/01/12 6
  7. 7. rroonga を選択するときは?• rroonga はサーバ型ではなくて組み込み型 – 更新しながら参照にするのに強い • 参照ロックフリー! – レプリケーション機能は持っていない • 複数サーバで分散することは考えない方がいい • 使いたいときは mroonga の出番• select クエリの書き方 – クエリのタイミング • ブロックがループ文で評価されると思っていると はまる • &(AND) と |(OR) の使い方12/01/12 7
  8. 8. システム構成 ニコ生コメント サーバ 検索専用 Ruby on Rails Ruby passenger 参照ロックフリー! コメント収集 Fetche Groonga file Fetche Ruby Fetche rr r ruby12/01/12 8
  9. 9. テーブルとか Lives id Community Live_url Live_title Visit_count Come_count 111 Communities http~coxx 雑談だよ 1 1 222 Communities http~coxx 凸待ち 222 2222Comments reference live_id community timestamp comment live Communities “18:56:00 2012” “ クリスマス中止だっ て” live Communities “18:56:01 2012” “ クルーズきた” Terms 自動で登録される そのまま _key Comments_comment タグに使え おっさ 11,22,33,33,55,66,77,88 る ん クルー ,99,122,123,124,125,126
  10. 10. コメントからキーワードタグ生 成• 全部のコメントからタグ生成 – Groonga が持っている語彙表から取ってくる terms = Groonga[“Terms”] terms.each do |record| tags[record.key] = record.Comments_comment if record.key.size > 10 end12/01/12 10
  11. 11. Select の書き方• select でカジュアルに検索• 10 分間の [ おっさん ] コメントを検索するoffset_time = 600w = " おっさん "time_before = Time.now - offset_timerecords = comments.select do |record| (record.comment =~ w) & ( record.timestamp > time_before )endpagenate_records = records.paginate([["_id", :descending]],{:page => 1, :size => 10})比較は必ず Groonga::RecordExpressionBuilder× (time_before < record.timestamp )○( record.timestamp > time_before )
  12. 12. 使い方の参考にしたもの• 本家チュートリアル – Select の使い方はここでわかる• ソースコード – ドキュメントにないことはソースコードにあ る – るりまサーチとドキュメント – rroonga 本体とテストコード• Mailing Lists – http://lists.sourceforge.jp/mailman/listinfo/groon12/01/12 ga-dev 12
  13. 13. まとめ?• rroonga – rroonga は小規模 ~ 中規模向き – 更新の激しいシステムに使える – Mailing Lists で質問すると幸せになれる• コメント検索は楽しい
  14. 14. ご清聴ありがとうございま した12/01/12 14

×