コア検出
コア検出とは、ディスク上に配置された `core.properties` ファイルを使用して簡単にコアを作成できることを意味します。
core.propertiesファイル
Solrでは、*コア*という用語は、単一のインデックスと、関連付けられたトランザクションログおよび設定ファイル(`solrconfig.xml` やスキーマファイルなど)を指します。必要に応じて、Solrインストールに複数のコアを含めることができます。これにより、同じサーバー内の異なる構造のデータをインデックス付けし、異なるユーザーにデータを表示する方法を制御できます。SolrCloudモードでは、*コレクション*という用語の方がよく使われます。コレクションは、舞台裏では1つ以上のコアで構成されています。
コアは、 `bin/solr` スクリプトを使用して作成するか、APIを使用してSolrCloudコレクションの作成の一部として作成できます。コア固有のプロパティ(インデックスまたは設定ファイルに使用するディレクトリ、コア名、その他のオプションなど)は、 `core.properties` ファイルで定義されます。Solrインストールの任意のディレクトリ(または `solr_home` が定義されているディレクトリの下)にある `core.properties` ファイルはSolrによって検出され、定義されたプロパティはファイルで指定されたコアに使用されます。
`core.properties` ファイルは、各行が `name=core1` などのキーと値のペアである単純なJavaプロパティファイルです。引用符は不要です。
最小限の `core.properties` ファイルは、以下の例のようになります。ただし、空にすることもできます。以下の `core.properties` の配置に関する情報を参照してください。
name=my_core_name
core.propertiesの配置
Solrコアは、 `solr.home` の下のサブディレクトリに `core.properties` という名前のファイルを配置することによって設定されます。ツリーの深さにも、定義できるコアの数にも、事前の制限はありません。コアはツリー内のどこにでも配置できますが、既存のコアの下にコアを定義することは*できません*。つまり、以下は許可されていません。
./cores/core1/core.properties
./cores/core1/coremore/core5/core.properties
この例では、列挙は「core1」で停止します。
以下は有効です。
./cores/somecores/core1/core.properties
./cores/somecores/core2/core.properties
./cores/othercores/core3/core.properties
./cores/extracores/deepertree/core4/core.properties
Solrは、それぞれ独自の設定とインデックスを持つ複数のコアに分割できます。コアは単一のアプリケーション専用にすることも、まったく異なるアプリケーション専用にすることもできますが、すべて共通の管理インターフェースを介して管理されます。Solrを停止または再起動することなく、新しいSolrコアをオンザフライで作成し、コアをシャットダウンし、実行中のコアを別のコアに置き換えることさえできます。
必要に応じて、core.properties
ファイルは空にすることができます。 core.properties
が./cores/core1
(solr_home
からの相対パス)にあるが空であるとします。この場合、コア名は「core1」と見なされます。 instanceDir
はcore.properties
を含むフォルダ(つまり、./cores/core1
)になります。 dataDir
は../cores/core1/data
などになります。
コアを設定せずにSolrを実行できます。 |
core.propertiesファイルの定義
最小限のcore.properties
ファイルは空のファイルです。この場合、すべてのプロパティは適切にデフォルト設定されます。
Javaプロパティファイルでは、ハッシュ(#
)または感嘆符(!
)文字を使用して、行末までのコメントを指定できます。
以下のプロパティを使用できます
name(名前)
-
オプション
デフォルト:なし
SolrCoreの名前。
CoreAdminHandler
でコマンドを実行するときに、この名前を使用してSolrCoreを参照します。 config(設定)
-
オプション
デフォルト:
solrconfig.xml
特定のコアの設定ファイル名。
schema(スキーマ)
-
オプション
デフォルト:*説明を参照*
特定のコアのスキーマファイル名。デフォルトは
schema.xml
ですが、「管理スキーマ」(デフォルトの動作)を使用している場合、有効なmanagedSchemaResourceName
と一致しないこのプロパティの値は一度読み取られ、バックアップされ、管理スキーマ用にコンバートされることに注意してください。詳細は、スキーマファクトリの設定を参照してください。 dataDir(データディレクトリ)
-
オプション
デフォルト:
data
コアのデータディレクトリ(インデックスが格納される場所)。絶対パス名または
instanceDir
の値からの相対パスのいずれかです。 configSet(設定セット)
-
オプション
デフォルト:なし
必要に応じて、コアの設定に使用する定義済み設定セットの名前(詳細は、設定セットのセクションを参照)。
properties(プロパティ)
-
オプション
デフォルト:なし
このコアのプロパティファイルの名前。値は、絶対パス名または
instanceDir
の値からの相対パスです。 transient(一時的)
-
オプション
デフォルト:
false
true
の場合、SolrがtransientCacheSize
に達すると、コアはアンロードされます。コアは、最後に使用されたものから順にアンロードされます。 *SolrCloudモードでは、これをtrue
に設定することはお勧めしません。* loadOnStartup(起動時にロード)
-
オプション
デフォルト:
true
true
(デフォルト)の場合、Solrの起動時にコアがロードされます。 *SolrCloudモードでは、これをfalse
に設定することはお勧めしません。* coreNodeName(コアノード名)
-
オプション
デフォルト:*説明を参照*
SolrCloudでのみ使用されます。これは、このレプリカをホストするノードの一意の識別子です。デフォルトでは、
coreNodeName
は自動的に生成されますが、この属性を明示的に設定することで、既存のレプリカを置き換える新しいコアを手動で割り当てることができます。たとえば、これは、ハードウェア障害が発生したマシンを、新しいホスト名またはポートを持つ新しいマシン上のバックアップから復元する場合に役立ちます。 ulogDir(更新ログディレクトリ)
-
オプション
デフォルト:なし
このコアの更新ログの絶対パスまたは相対パスディレクトリ(SolrCloudのみ)。
shard(シャード)
-
オプション
デフォルト:なし
このコアを割り当てるシャード(SolrCloudのみ)。
collection(コレクション)
-
オプション
デフォルト:なし
このコアが属するコレクションの名前(SolrCloudのみ)。
roles(ロール)
-
オプション
デフォルト:なし
SolrCloudの将来のパラメーター、またはユーザーが独自の用途でノードをマークするための方法。
変数として使用するために、追加のユーザー定義プロパティを指定できます。ローカルプロパティの定義方法の詳細については、設定ファイルのプロパティ置換のセクションを参照してください。