Your SlideShare is downloading. ×
MapionにおけるSolr利用状況
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

MapionにおけるSolr利用状況

5,245
views

Published on

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,245
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
48
Comments
0
Likes
4
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. Mapion における Solr 利用状況 Solr 勉強会 2009.7.21 株式会社マピオン 藤本 亜矢子/ 谷本 真紀
  • 2. どこで使ってる? キーワード検索 ファセット 緯度経度から検索
  • 3. Solr 導入の経緯
    • 「マピオン電話帳」で MySQL5.0 を採用
    • でも、メチャクチャ負荷高い (  ̄ o  ̄ ;)
    • パフォーマンスチューニング行う
    • でも、まだ負荷高い (  ̄へ ̄ |||)
    • このままでは次は無理 o(´д`)o
    • 2008 年9月、 Solr1.3 リリース
    • 1 ヶ月調査
    • イケる !! (  ̄∇ +  ̄ )v キラーン
  • 4. 統計
    • クエリー
      • 1日約100万 (7 月 17 日時点 )
      • 範囲検索30%、キーワード検索70%
    • 負荷
  • 5. データ件数は?
    • 電話帳 ・・・ 約900万件 ( shards : 30 )
    • ランドマーク ・・・ 約40万件( shards : 4 )
    • 住所 ・・・ 約12万件
    • 郵便番号 ・・・ 約12万件( shards : 4 )
    • その他もろもろ ・・・ 数十万件
    • ※ コア数 ・・・ 約60 (;´д ` ) ノ
  • 6. 運用
    • データ更新
      • 電話帳は差分更新 (delta-import)
      • 1 日 2 回更新
      • その他データは更新頻度に応じて全件更新
  • 7. サーバー構成は?
    • 2009 年 7 月 21 日時点
    load balancer load balancer 検索用 Solr shards 用 Solr 検索用 Solr 検索用 Solr 検索用 Solr 検索用 Solr 検索用 Solr 検索用 Solr 検索用 Solr インデックス用 Solr RDBMS shards 用 Solr shards 用 Solr Snapshot Collection Distribution Distributed Search
    • shards 用: 3 台
    • 検索用: 8 台
    • インデックス用: 1 台
  • 8. Mapion 拡張 その①
    • 緯度経度+距離
      • 拡張コンポーネント として実装
      • 緯度経度は ピクセル座標 も格納
      • 距離計算は負荷が高いのでピクセル座標で行う
      •  ピクセル座標なら三平方の定理で求められる
      • Distributed Search によって 複数サーバー/複数 CPU を使って距離を計算することができる
  • 9. Mapion 拡張 その②
    • 場所+キーワード
      • 2BOX 検索で周辺検索
      • q= キーワード &near= 場所
      • 1BOX 検索 (Google マップ風 ) でも周辺検索
      • q= キーワード 場所
      • どちらも 場所 をジオコーディングして内部的に拡張コンポーネントに検索方法を切り替える
  • 10. Mapion 拡張 その③
    • 住所検索、郵便番号検索
      • 住所の番地号データは件数が多すぎるのでそもそも Solr には入れていない(数千万件)
      • ヒットしなかった場合は独自の 住所検索エンジン に切り替える
      • 住所検索は特殊。全文検索だけでは救えない場合がある
  • 11. Mapion 拡張 その④
    • apache-solr-core-1.3.0.jar
      • 電話帳は当初分割数が 10 程度だったが、パフォーマンス/スケールアウトを考え 30 に分割数を増やした
      • が、パフォーマンスが上がらない ( ̄ー ̄ ? )
      • ソースを調べてみると、1ホストに対して 20コネクション しか接続できない (*  ̄ o  ̄ ) ゝオーイ !!
      • Java の起動オプションで指定できるように修正した
  • 12. 最後に
    • Tokenizer
      • 形態素解析とのハイブリッド方式で精度を上げたい
      • 一緒に研究していきませんか?
  • 13. ご静聴ありがとうございました