刺身の上にたんぽぽ乗せる日記

プログラミングしたり、自販機の下に落ちてる小銭を集めたりしてます

バックエンドを大幅にsolrに変更

作業ログはこちら:
http://d.hatena.ne.jp/kudzu/20110513/1305313247

色々試してみた結果、大体の処理がsolrのほうが高速で、大体sqlと同じことを圧倒的に簡単にできる*1
2chnaviは基本的にほぼ全てのページがエントリ・サイトへのリンクのリストなので、検索に適応した後には、割と簡単に他のものにも適応できた。
具体的には、

  • 全文検索
  • カテゴリに属する記事一覧
  • 板に属する記事一覧
  • 過去ログ

残りは、

  • リアルタイム人気記事(オフラインで作成してるので、多分solrに移すメリットがない)
  • 過去数日の人気記事
  • 最近の記事一覧

である。
何故かは全くわからないんだけど、solrは本当に速い。全文検索だけかと思ってたけど、あるカラムがある値のものをソートして出す、みたいな処理まで何故か速い。なんでなのか全くわからないので、すごく不思議。mysqlが効率が悪い、ということなのかもしれないけど。

*1:正直若干不思議なんだけど、何故かsql使うより楽にできている