インデックスの場所と形式
Solr がインデックスを保存する場所と方法は、構成可能なオプションです。
dataDir パラメーターでインデックスデータの場所を指定する
デフォルトでは、Solr はインデックスデータをコアのインスタンスディレクトリ(instanceDir
)の下の /data
というディレクトリに保存します。インデックスデータを保存する別のディレクトリを指定する場合は、コアの core.properties
ファイルで dataDir
を構成するか、solrconfig.xml
ファイルで <dataDir>
パラメーターを使用できます。別のディレクトリは、絶対パスまたは SolrCore の instanceDir に対する相対パス名で指定できます。例:
<dataDir>/solr/data/${solr.core.name}</dataDir>
${solr.core.name}
置換により、現在のコアの名前が置換され、各コアのデータが個別のサブディレクトリに保持されるようになります。
ユーザー管理インデックスレプリケーション を使用して Solr インデックスをレプリケートする場合、<dataDir>
ディレクトリはレプリケーション構成で使用されるインデックスディレクトリに対応する必要があります。
環境変数 SOLR_DATA_HOME が定義されている場合、または solr.data.home が DirectoryFactory 用に構成されている場合、または solr.xml に要素 <solrDataHome> が含まれている場合、データディレクトリの場所は <SOLR_DATA_HOME>/<instance_name>/data になります。 |
インデックスの DirectoryFactory を指定する
デフォルトの solr.NRTCachingDirectoryFactory
はファイルシステムベースであり、現在の JVM およびプラットフォームに最適な実装を選択しようとします。 solr.MMapDirectoryFactory
または solr.NIOFSDirectoryFactory
を指定することで、特定の実装や構成オプションを強制できます。
<directoryFactory name="DirectoryFactory"
class="solr.MMapDirectoryFactory">
<bool name="preload">true</bool>
</directoryFactory>
solr.RAMDirectoryFactory
はメモリベースで永続的ではなく、レプリケーションでは機能しません。この DirectoryFactory を使用して、インデックスを RAM に保存します。
<directoryFactory class="org.apache.solr.core.RAMDirectoryFactory"/>
Hadoop を使用していて、インデックスを HDFS に保存する場合は、上記の実装のいずれかではなく、 |