せっかく Solr にデータが入ったので軽く検索速度の比較をしてみました。
比較してみたこと
速度対決
- Solr
- ヒット数の取得と記事の取得は同時にできるのでクエリは一回実行するだけ。
- 検索時間合計 約 0.4 秒( 0.376s )
q= page_title:ロボット OR rev_comment:ロボット OR rev_user_text:ロボット OR old_text:ロボット
SELECT COUNT(*) FROM page,revision,text WHERE page_id = rev_page AND rev_text_id = old_id AND (page_title like '%ロボット%' OR rev_comment like '%ロボット%' OR rev_user_text like '%ロボット%' OR old_text like '%ロボット%' )
SELECT page_id, rev_id, old_id, page_title, rev_comment, rev_user_text, old_text FROM page,revision,text WHERE page_id = rev_page AND rev_text_id = old_id AND (page_title like '%ロボット%' OR rev_comment like '%ロボット%' OR rev_user_text like '%ロボット%' OR old_text like '%ロボット%' ) LIMIT 10
-
- 検索時間合計 約 53秒
比較
ざっくりすぎる比較ですが、Solr 0.4 秒に対して MySQL 53秒となり、この例だとSolr の方が約 130倍速いという結果になりました。
今後は検索件数を増やすなどしてもう少し精密にやっていきます。
Wikipedia のテキストデータを使ってベンチマークをする! その7 ロードバランサー( haproxy ) を使って Solr 2台構成にしてみた
[Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その6 Solr は MySQL より 200倍速い!
[Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その5 Solr と MySQL でざっくり速度対決
[Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その3 Solr のスキーマ設計
[Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その2 Wikipedia のテキストデータを MySQL に入れるる