Your SlideShare is downloading. ×
0
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Groonga勉強会3 生放送でコメント検索してみた
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

984

Published on

Try to search listener commetns on broadcasting with rroonga. …

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
984
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. rroonga で 生放送コメントを検索してみ た てみた12/01/12 1
  • 2. 自己紹介• HN: てみた temita• Twitter: @temitan• 興味 : rroonga,Ruby, Rails, Android• はてダ: http://d.hatena.ne.jp/temita/ ↑[ あとで書く ] 完全に一致12/01/12 2
  • 3. ニコ番• ニコニコ生放送のコメントを検索できる• http://niconama.temita.net/12/01/12 3
  • 4. きっかけ• 人力最速地震速報を作ってみたい – ニコニコ生放送とかは情報はやそう・・ – 地震ワードの抽出が必要 地震だ! → バズッター的な仕組みがいるかな・・ → コメントを検索できたほうが面白そう 震度4 → ニコ番 はあ る! – プッシュ配信が必要 → アラート通知のような仕組みがいるかな・・ → 通知ツールのほうが面白そう・・ → ニコニコール( Web 生放送通知ツール)12/01/12 4
  • 5. 公式枠検索 VS コメント検索• 本家にも検索機能あるけど?• 「かわいい」を検索した結果12/01/12 5
  • 6. なぜ rroonga?• KVS のような簡単な検索エンジンがほしい• 動的に構築して高速に検索したい• Ruby であれこれ操作したい• rroonga にはチュートリアルがある!12/01/12 6
  • 7. rroonga を選択するときは?• rroonga はサーバ型ではなくて組み込み型 – 更新しながら参照にするのに強い • 参照ロックフリー! – レプリケーション機能は持っていない • 複数サーバで分散することは考えない方がいい • 使いたいときは mroonga の出番• select クエリの書き方 – クエリのタイミング • ブロックがループ文で評価されると思っていると はまる • &(AND) と |(OR) の使い方12/01/12 7
  • 8. システム構成 ニコ生コメント サーバ 検索専用 Ruby on Rails Ruby passenger 参照ロックフリー! コメント収集 Fetche Groonga file Fetche Ruby Fetche rr r ruby12/01/12 8
  • 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. コメントからキーワードタグ生 成• 全部のコメントからタグ生成 – Groonga が持っている語彙表から取ってくる terms = Groonga[“Terms”] terms.each do |record| tags[record.key] = record.Comments_comment if record.key.size > 10 end12/01/12 10
  • 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. 使い方の参考にしたもの• 本家チュートリアル – Select の使い方はここでわかる• ソースコード – ドキュメントにないことはソースコードにあ る – るりまサーチとドキュメント – rroonga 本体とテストコード• Mailing Lists – http://lists.sourceforge.jp/mailman/listinfo/groon12/01/12 ga-dev 12
  • 13. まとめ?• rroonga – rroonga は小規模 ~ 中規模向き – 更新の激しいシステムに使える – Mailing Lists で質問すると幸せになれる• コメント検索は楽しい
  • 14. ご清聴ありがとうございま した12/01/12 14

×