Your SlideShare is downloading. ×
0
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
Groonga導入事例−地域コミュニティサイトLOHABUU
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導入事例−地域コミュニティサイトLOHABUU

572

Published on

地域コミュニティサービス「LOHABUU」におけるGroongaの導入事例

地域コミュニティサービス「LOHABUU」におけるGroongaの導入事例

Published in: Engineering
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
572
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
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. -‐‑‒Groonga導⼊入事例例-‐‑‒   地域コミュニティサイト   LOHABUU 株式会社アンタス  紀國  聡(きのくに  さとし)
  • 2. ⾃自⼰己紹介 • 紀國  聡(きのくにさとし) • 株式会社アンタス
 ITソリューション部部⻑⾧長   • ITシステム企画設計   • ビジネスIT活⽤用⽀支援
 • 札幌オオドオリ⼤大学  
 ドリ農部部⻑⾧長   • 農作業を通した⼈人材交流流   • 街の⼋八百屋紹介フリーペー パー制作
  • 3. http://lohabuu.net/
  • 4. LOHABUU!!(ろはぶー) • ”local”と”hub”を合わせた造語。
 地域の⼈人や情報をつなぐハブとな るサービスになるよう命名。   • みんなのブログやつぶやきをリア ルタイムに集めて表⽰示。   • いま何が盛り上がっているかがわ かる。   • その時の気持ちが共有できる。   • 特定のキーワード毎にまとめて表 ⽰示するとより⾯面⽩白い。
  • 5. コンセプト 地域の⼈人たちが⽇日々のくらしを気軽に投稿   それらを集めて特定の切切り⼝口で編集   地域の⾃自然・⾷食・くらしの魅⼒力力発信し、ブランド化 ! ! ! !
  • 6. つまり
  • 7. 収集した⼤大量量データの中から   ⾃自由なキーワードで   コンテンツを抽出するサービス
  • 8. あゆみ 2010年年10⽉月         開発スタート   2010年年12⽉月         稚内、別海オープン   2011年年               函館、⼩小樽、札幌       速度度チューニング   2012年年       ⼗十勝、釧路路、網⾛走、根室       位置情報対応
  • 9. しくみ • Twitter、Youtube等のCGM コンテンツをAPIで取得
 (毎分)   ! • 取得したコンテンツをMySQL とGroongaに登録   ! • 任意の切切り⼝口(条件)で
 コンテンツを検索索して表⽰示
  • 10. なやみ Rroonga ruby rails  3.0 refinay  CMS 同じコンテンツを   保持 クロールコンテンツ 登録・CMSでの編集 インデクス   作成 全⽂文検索索でidのみ を取得Groongaで検索索したid を⽤用いてid指定検索索 id MySQLとGroongaのデータ⼆二重持ち
  • 11. Mroongaも検討 MySQLとGroongaの⼆二重持ちが不不要とな り、とっても幸せになれたはず。   当時(2010年年12⽉月)のMroongaは
 Auto  Incrementに対応しておらず断念念。。
  • 12. 本当はMroongaを使いたかった。 MySQLとGroongaの⼆二重持ちが不不要と なり、とっても幸せになれたはず。   当時(2010年年12⽉月)のMroongaはAuto   Incrementに対応しておらず断念念。。 当時のRedmineに記された残念念な声
  • 13. ActiveGroonga 当時はRails3.0に対応していなかったので
 断念念。   2010年年11⽉月末には対応したようなので、
 わずかの差だった。。
  • 14. パフォーマンス⽐比較 MySQL mysql> select * from cgms -> where body like '%sapporo%' -> order by orig_updated_at desc limit 10; ・・・ 10 rows in set (49.15 sec) ! Rroonga > def search_sapporo > t_start = Time.now.instance_eval { self.to_i * 1000 + (usec/1000) } > cgms = ::GroongaSearchEngine.search('sapporo') > t_end = Time.now.instance_eval { self.to_i * 1000 + (usec/1000) } > puts t_end - t_start > end > search_sapporo 1055 (≒1.06sec) LOHABUU札幌のCGMテーブル (176万件)の検索速度比較
  • 15. ハマったことなど Groongaでの検索索結果が必ずしも指定キーワードが含 まれていないことがあった。     →  仕⽅方ないので、検索索してから正規表現で
       マッチングした。   ! 表⽰示速度度チューニングのため、Groongaのインデック スを追加すると、検索索漏漏れなどが発⽣生した。     →  検索索に影響ない範囲でインデクスを削除  
  • 16. ハマったことなど Groongaに登録してインデクス作成しても、何故か
 検索索されないケースがみられた。     →  Groongaのキャッシュが原因?       →  cache=noで検索索するようにすると、
       検索索結果はよくなったが、ページ表⽰示時の
       CPU負荷が⾼高くなってしまった。。  
  • 17. ハマったことなど GroongaのDBは作成した時のパスを覚えてる!?     →  テスト⽤用にファイルを移動・リネームすると
       検索索結果が返ってこなくてハマった。   ! Rroongaのお作法に従う余裕がなかった。     →  意図した検索索結果の確認は直接Groongaを
       叩いていたため、Rroongaに翻訳するよりも、
       確認結果を⽂文字列列した⽅方が楽だった。
  • 18. テーブル構造 Entry ! table_id : unsigned integer title : text body : text type : text orig_updated_at: time ・・・・ location :wgs84_geo_point ・・・ N-‐‑‒gram   インデックス Geo   インデックス Time   インデックス
  • 19. 補⾜足   利利⽤用例例や裏裏側など
  • 20. 管理理画⾯面
  • 21. 収集設定
  • 22. /groonga?query=betsukai+OR+bekkai 検索索メニュー設定
  • 23. 活⽤用事例例
  • 24. フォトコンテスト 街中に仕込んだARオブジェクトを探して撮影。   TwitPicに投稿してプロジェクターに写したLOHABUUで   みんなで鑑賞&表彰式。
  • 25. ジャンボホタテ祭り お祭り会場に⼤大型テレビを持ち込んでLOHABUU表⽰示。   祭りのハッシュタグつけてTwitter投稿するとリアルタイム 表⽰示してイベント盛り上げ。
  • 26. ランキングAPI 「Traveler北北海道」との連携規格。その場所でつぶやかれた情報をLOHABUUの 「いいね!」数をもとにランキング算出し、APIで提供。 Traveler北北海道
  • 27. ご静聴   ありがとうございました。 http://lohabuu.net/

×