検索エンジンはフラットなデータ構造しか持つことが出来ません*1。データを検索エンジンに入れるときは、必要なテーブルを全てJOINしたselect文でデータを取得して検索エンジンに入れます。この方法の最大のデメリットは、子テーブルのレコード1つが更新されるとテーブル間の多重度によっていは、一度に複数の検索インデックスの更新が必要になります。取っていたりすると、マスタのカテゴリ名を変えると、同じカテゴリに入っている商品点数分、全ての検索インデックスの更新が必要になります。このような課題を解決出来ないかなと思って調べだしたのがきっかけです。求める要件としては以下の2点でした。した形で表示することができる。別々のテーブルのレコードごとに更新することができる。BlockJoinというわけで、Solrのマニュアルから、BlockJoinを試してみました。データ登録時の特徴と、注意点は以下のとおりです。