こんにちは。アメーバで検索を担当しているYASUDAです。 今日は、アメーバで利用しているオープンソースの検索エンジンであるLucene/Solr の新機能の一つをご紹介します。いつもLucene/Solrの恩恵を受けているので、少しでも普及に繋がると嬉しいです。 紹介するのはLucene 3.2以降のバージョンで利用可能となるTieredMergePolicyです。 以下に、LuceneにおけるインデックスのSegment構成、MergePolicyの概要、TieredMergePolicyの特徴とアメーバの対応について記述します。 ■ Luceneにおける転置インデックスのSegment構成 Luceneの転置インデックスは、各々が独立したSegmentという単位で構成されており、ドキュメントの追加分をflushする際、新しい世代番号を付けたSegmentを生成していきます(図1)。