すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for HBase:構成セットの更新

最終更新日:Mar 29, 2026

構成セットは、Search サービスにおけるコレクションのスキーマおよび Solr 設定を定義します。本トピックでは、デフォルトの構成セットをダウンロードし、スキーマをカスタマイズした後、独自の構成セットをアップロードする手順について説明します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

デフォルト構成セットのダウンロード

Search サービスには、_indexer_default という名前の組み込み構成セットが用意されています。カスタマイズを始める際の出発点として、この構成セットをダウンロードしてください。

HBase Shell で以下のコマンドを実行します。

cd alisolr-7.3.8-bin/bin
./solr zk ls /configs                              # 既存の構成セット一覧を表示
./solr zk downconfig -d . -n _indexer_default      # _indexer_default を現在のディレクトリにダウンロード

./solr zk downconfig のパラメーターについて:

パラメーター必須説明
-dはいダウンロードした構成セットを書き込むローカルディレクトリ.(現在のディレクトリ)
-nはいZooKeeper 内からダウンロードする構成セットの名前_indexer_default

ダウンロードが完了すると、現在のディレクトリ内に conf ディレクトリが作成され、その中に以下の 2 つのファイルが含まれます。

  • managed-schema — インデックスのフィールドおよびフィールドタイプを定義

  • solrconfig.xml — Solr のリクエストハンドラおよびその他の設定を構成

スキーマにおけるフィールドの定義

インデックス用のフィールド定義を追加するため、managed-schema を開きます。

明示的なフィールドの定義

インデックス化したい各カラムに対応する <field> 要素を追加します。

<field name="name" type="string" indexed="true" stored="true" required="false" multiValued="false" />
<field name="age" type="pint" indexed="true" stored="true" docValues="true"  multiValued="false" />

主な属性について:

属性説明例の値
typeフィールドタイプ。pint は INT にマップされ、plong は LONG にマップされます。stringpintplong
indexedtrue の場合、該当フィールドは検索可能になります。truefalse
storedtrue の場合、元の値が保存され、クエリ結果に返されます。truefalse
docValuestrue の場合、該当フィールドに対するソートおよびファセット機能が有効になります。truefalse
multiValuedtrue の場合、1 つのドキュメント内で複数の値を許容します。truefalse

柔軟なスキーマには dynamicField を使用(推奨)

データに多数のカラムが存在する場合、または事前にカラム名が固定されていない場合は、各フィールドを明示的に定義する代わりに、dynamicField を使用することを推奨します。dynamicField は、フィールド名の末尾文字列(サフィックス)に基づいてマッチングを行い、指定されたサフィックスで終わるすべてのフィールド名に対して、対応するタイプおよび属性を自動的に継承させます。

managed-schema ファイルには、あらかじめデフォルトの dynamicField 定義が含まれています。データを書き込む際は、これらのサフィックスと一致するフィールド名を使用してください。

  • name_s は、*_s と自動的にマッチし、文字列型フィールドとして扱われます。

  • age_i は、*_i と自動的にマッチし、pint(INT)型フィールドとして扱われます。

このアプローチにより、スキーマの進化に伴う managed-schema の頻繁な編集を回避できます。

構成セットのアップロード

managed-schema の変更が完了したら、新しい名前で構成セットを ZooKeeper にアップロードします。コレクションごとに 1 つの構成セットを使用してください。

./solr zk upconfig -d conf/ -n myconf
パラメーター必須説明
-dはいローカル構成セットディレクトリへのパスconf/
-nはいZooKeeper 内で構成セットに割り当てる名前myconf

アップロードが正常に行われたか確認するには、Solr Web コンソールを開き、構成セットの一覧に myconf が表示されていることを確認してください。

myconf

ベストプラクティス

  • 可能な限り dynamicField を使用してください。 dynamicField のサフィックスを活用してフィールドを定義することで、managed-schema の頻繁な変更を回避でき、スキーマ管理が簡素化されます。

  • コレクションごとに 1 つの構成セットを使用してください。 複数のインデックス間で構成セットを共有しないでください。スキーマの変更は、その構成セットを利用するすべてのコレクションに影響を与えます。

  • _indexer_default をベースに開始してください。 構成セットをゼロから作成するのではなく、必ずデフォルト構成セットをダウンロード・修正してください。