Twitterがここ数週間かけてローンチしてきたという新しい検索システムのバックエンド技術について、米国時間10月6日のブログ投稿で明らかにした。
Twitterのリアルタイム検索エンジンはこれまで、同社が2008年に買収で取得したSummizeの技術をベースにしていたが、古いバージョンのMySQLを利用していることから成長に合わせた拡張が難しかったという。
そこで約半年前に、転置索引方式のアーキテクチャを基づく新システムを構築することに決定し、Javaで記述されたオープンソースの「Lucene」を採用した新システムの開発に乗り出した。リアルタイム検索に対応するため、インメモリのデータ構造など、Luceneに大きく手を加えながら新システムを開発したという。
その結果、パフォーマンスや拡張性が向上しただけでなく、検索速度に影響することなくインデックスのサイズを拡大することができ、柔軟性も向上したという。同社の推計では新システムでは、利用可能なバックエンドリソースの5%しか利用しておらず、1秒あたりのインデックス処理も従来比50倍を達成している。
同社はLuceneに施した変更をLuceneプロジェクトに寄贈する予定だ。