Solr管理スキーマ

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Solrにはスキーマをプログラム的に管理するためのRESTful APIがあります。スキーマを更新するとコアとコレクションは自動的にリロードされます。

Solrのサンプル設定セットは、従来の手動スキーマ(schema.xmlファイル)の代わりにマネージドスキーマを使用しています。

Sitecoreは管理スキーマをサポートしており、Schema APIを使ってSolrに直接スキーマを入力するツールがあります。

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

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

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

    name=CORE_NAME config=solrconfig.xml update.autoCreateFields=false dataDir=data

  3. ステップ1で作成したフォルダのconfサブフォルダ内のマネージドスキーマファイルを開きます。

    1. idの値を_uniqueidに設定します。
    2. フィールドセクションでは、_uniqueidに対して次のフィールド構成を追加します:
    3. 変更を保存してください。:::
  4. すべてのコンテンツ検索インデックスについて、ステップ1とステップ2を繰り返してください。

    !注xdbインデックスにはこれをしないでください。 代わりにこの説明 を使ってください。

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

  1. Solrを始めましょう。

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

  3. インデックスタブで**「ソル管理スキーマをポピュレート」**をクリックします:

    Solr_managed_schemas-Picture_1-rId11-50855303.png
  4. Schema Populateウィンドウで、埋めたいインデックスを選択してください:

    Solr_managed_schemas-Picture_2-rId12-1299452201.png
  5. 「**ポピュレート」**をクリックします。

管理者ページからスキーマをポピレートします

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

それを行うには:

  1. http://YOUR\_INSTANCE/sitecore/admin/ PopulateManagedSchema.aspx?indexes=sitecore_master_index|sitecore_core_index|sitecore_web_indexを呼び出します。indexesクエリパラメータを使って、埋めたいインデックスの名前をパイプ('|')分離リストとして渡します。
  2. HTTPステータスコードを確認して結果を検証します(200は成功です)。

Sitecore CLIを使ってスキーマを入力する

Sitecore CLIで利用可能なインデックスプラグインを使ってスキーマを埋めることができます。

Sitecore CLIを使ってスキーマを埋めるには:

  • ターミナルで sitecore index schema-populate コマンドを実行してください。

!注詳細については、CLI indexコマンドを参照してください。このコマンドはCLI 4.0以降から利用可能です。

スキーマをプログラムで変更する機能を無効にしてください

solrconfig.xmlファイルでクラスをClassicIndexSchemaFactoryに設定することで、スキーマをプログラムで変更する機能を無効にできます。詳細については、Sitecore XPのバージョンに対応しているSolrバージョンのSchema Factory Definitionドキュメントをご覧ください。

!注スキーマをプログラムで変更できないと、スキーマファイルを手動で編集しなければなりません。このトピックで説明しているスキーマを自動的に埋め込む方法は機能しません。

この記事を改善するための提案がある場合は、 お知らせください!