11.4. インデックスの設定
11.4.1. リモートクライアントサーバーモードでのインデックスの設定
リモートクライアントサーバーモードでは、インデックスの設定はプロバイダーとその設定によって異なります。インデックスモードはプロバイダーや、それがローカルまたは分散されているものかどうかによって異なります。以下のインデックスモードがサポートされています。
- NONE
- LOCAL = indexLocalOnly="true"
- ALL = indexLocalOnly="false"
リモートクライアントサーバーモードでのインデックス設定は以下の通りです。
例11.3 リモートクライアントサーバーモードでの設定
<indexing index="LOCAL"> <property name="default.directory_provider">ram</property> <!-- Additional configuration information here --> </indexing>
Lucene キャッシュの設定
デフォルトで、Lucene キャッシュはローカルキャッシュとして作成されます。ただし、この設定では Lucene の検索結果がクラスターのノード間で共有されません。これを避けるには、以下の設定スニペットにあるようにクラスターモードで Lucene で必要とされるキャッシュを定義します。
例11.4 リモートクライアントサーバーモードでの Lucene キャッシュの設定
<cache-container name="clustered" default-cache="repltestcache"> [...] <replicated-cache name="LuceneIndexesMetadata" mode="SYNC"> <transaction mode="NONE"/> <indexing index="NONE"/> </replicated-cache> <distributed-cache name="LuceneIndexesData" mode="SYNC"> <transaction mode="NONE"/> <indexing index="NONE"/> </distributed-cache> <replicated-cache name="LuceneIndexesLocking" mode="SYNC"> <transaction mode="NONE"/> <indexing index="NONE"/> </replicated-cache> [...] </cache-container>
これらのキャッシュについては、Red Hat JBoss Data Grid の 『Developer Guide』 で詳細に説明されています。
11.4.2. インデックスの再構築
Lucene インデックスは、キャッシュ内のデータストアから再構築することによって、必要な場合に再構築できます。
インデックスは以下の場合に再構築する必要があります。
- タイプでインデックス化されている内容の定義が変更されている。
Analyser
などのインデックスの定義方法に影響を与えるパラメーターが変更されている。- インデックスがシステム管理者のエラーにより、破壊または破損している。
インデックスを再構築するには、以下のように
MassIndexer
への参照を取得し、以下のようにこれを開始します。
SearchManager searchManager = Search.getSearchManager(cache); searchManager.getMassIndexer().start();
この操作はグリッド内のすべてのデータを再処理するため、時間がかかる場合があります。
インデックスの再構築は JMX 操作としても有効です。