LinkedInが開発したリアルタイム検索システム「Zoie」
LinkedInは最近4,500万ユーザを突破した世界最大の規模のビジネスSNSだ。SNSというとFacebookに注目が集まるが、LinkedInも様々な試みが行われており非常に興味深いシステムになっている。ZoieはLinkedInの開発した検索エンジンになっている。
シンプルなインタフェース
最近流行のリアルタイム性を取り入れ、実際に彼らのシステムで使われている。そんな実用性の高いシステムがオープンソースになっているのだ。
今回紹介するオープンソース・ソフトウェアはZoie、Apache Luceneをベースにした検索エンジンだ。
ZoieはApache Luceneをベースに開発されておりJavaで作られている。検索対象を追加すると即座に検索結果に反映されるようになっており、インデックスの再構築を待たなくて良い。またそのインデックスの再構築は検索パフォーマンスに影響を与えないように考慮されている。
管理画面(公式サイトより)
その他、ドキュメントの追加がインデックスの断片化を作り出さないように考慮されていたり、削除や更新が検索パフォーマンスに影響を及ぼさないようにもなっている。膨大な量の検索クエリーが発生するLinkedInならではの取り組みがなされているようだ。
インデックスの管理はJMXで行うようになっている。理論的な部分ももちろんあるだろうが、こうした実運用の中で磨かれたシステムは他の利用者にとっても有益なのは間違いない。検索システムを必要とした際には要チェックだ。
zoie - Project Hosting on Google Code