バックエンドを大幅にsolrに変更
作業ログはこちら:
http://d.hatena.ne.jp/kudzu/20110513/1305313247
色々試してみた結果、大体の処理がsolrのほうが高速で、大体sqlと同じことを圧倒的に簡単にできる*1。
2chnaviは基本的にほぼ全てのページがエントリ・サイトへのリンクのリストなので、検索に適応した後には、割と簡単に他のものにも適応できた。
具体的には、
- 全文検索
- カテゴリに属する記事一覧
- 板に属する記事一覧
- 過去ログ
残りは、
- リアルタイム人気記事(オフラインで作成してるので、多分solrに移すメリットがない)
- 過去数日の人気記事
- 最近の記事一覧
である。
何故かは全くわからないんだけど、solrは本当に速い。全文検索だけかと思ってたけど、あるカラムがある値のものをソートして出す、みたいな処理まで何故か速い。なんでなのか全くわからないので、すごく不思議。mysqlが効率が悪い、ということなのかもしれないけど。