solr キャッシュ

solrのキャッシュについて調べたのでメモ。

キャッシュの種類

  • queryResultCache 検索結果キャッシュ:

    検索結果のキャッシュ。

    キャッシュキーは3つ。検索式q、ソート条件sort、フィルタクエリfq

     これらの要素をキーとして、検索結果に含まれるドキュメントのIDの順序を保持するリストをキャッシュデータとして保存している。

    ドキュメントIDとは、solr内部で利用している管理用のID。 

 

  •    filterCache フィルタキャッシュ :

      フィルタクエリの結果のキャッシュ。

  フィルタクエリ結果に含まれるドキュメントIDの集合をキャッシュされる。

 

  •    documentCache ドキュメントキャッシュ :

  ドキュメントのキャッシュ。

  検索結果として返すドキュメントをドキュメントIDをキーとしてをキャッシュする。

 

  •     filedValueCache フィールド値キャッシュ:

         multiValued='true'フィールドのファセットの検索の際に利用されるらしい。multivaluedフィールドがちょっとよくわからない。

 

  •     ユーザ定義キャッシュ :

     solrconfig.xmlで独自に設定して登録したキャッシュ。

自動ウォームアップ

 キャッシュで使用しているドキュメントIDという内部用IDは、インデックスが更新されるとつかえなくなる。インデックスが更新されると、ドキュメントIDも変わるため。なので、キャッシュはインデックス更新時に基本的に破棄される。

 が、それではキャッシュヒットが維持できないので、インデックス更新時にもキャッシュを引き継いで利用できるようにするための機能が「自動ウォームアップ(auto warmup)」。

 これまでキャッシュで使用していたキーで検索して、キャッシュを再生成する。

 

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)