Solr 管理スキーマ

Current version: 10.1

Solr には、スキーマをプログラムで管理するために使用する RESTful API が用意されています。スキーマを更新すると、core とコレクションが自動的に再読み込みされます。

Solr のサンプルの設定セットでは、従来の手動スキーマ (schema.xmlファイル) の代わりに管理スキーマを使用しています。solrconfig.xml ファイルで、<schemaFactory> クラスを ClassicIndexSchemaFactory に設定することにより、引き続き手動スキーマを使用できます。

Sitecore は管理スキーマをサポートしており、Schema API を使用して Solr で直接スキーマを生成するために使用するツールを提供しています。

設定セットと管理スキーマを準備するには:

  1. Solr が提供する設定例を configsets フォルダーから [SOLR_DIR]/server/solr にコピーし、適切なインデックス名に名前を変更します。

  2. 作成したフォルダー ([SOLR_DIR]/server/solr/[CORE_NAME]) で、core.properties というテキスト ファイルを作成し、次の値を指定します。

    RequestResponse
    name=[CORE_NAME]
    config=solrconfig.xml
    update.autoCreateFields=false
    dataDir=data
  3. 手順 1 で作成したフォルダーの conf サブフォルダーで、管理スキーマ ファイルを開きます。

    1. <uniqueKey>id</uniqueKey> の値を _uniqueid に設定します。

    2. fields セクションで、_uniqueid のフィールド設定として、<field name="_uniqueid" type="string" indexed="true" required="true" stored="true"/> を追加します。

    3. 変更を保存します。

  4. すべてのコンテンツ検索インデックスについて、手順 1 と手順 2 を繰り返します。

    注記

    この手順は、xdb インデックスに対して実行しないでください。代わりに、こちらの説明を参照してください。

コントロール パネルからスキーマを生成するには:

  1. Solr を起動します。

  2. Sitecore を起動し、コントロール パネルに移動します。

  3. [インデックス] タブで、[Solr 管理スキーマを生成] をクリックします。

  4. [スキーマ生成] ウィンドウで、入力するインデックスを選択します。

  5. [生成] をクリックします。

管理ページからスキーマを生成する

スキーマは、管理ページから生成することもできます。これは、PowerShell スクリプトからスキーマを生成する場合に特に便利です。

実行手順:

  1. http://YOUR_INSTANCE/sitecore/admin/ PopulateManagedSchema.aspx?indexes=sitecore_master_index|sitecore_core_index|sitecore_web_index を呼び出します。indexesクエリ パラメーターを使用して、パイプ (「|」) 区切りのリストとして入力するインデックスの名前を渡します。

  2. HTTP ステータス コードを調べて結果を確認します (200 は成功を意味します)。

Do you have some feedback for us?

If you have suggestions for improving this article,