カラムをインデックスに追加する

テーブル・カラムをインデックスに追加します。

テーブル・カラムをインデックスに追加します。フィールド型はフィールドの追加時に推定されます。スキーマに存在しないフィールド型は追加されます。フィールド型名は、フィールド型の簡易名としてフィールド型名を使用して生成されます。

手順

  1. テーブル・カラムをインデックスに追加します。
    • 標準カラムの追加
      たとえば、フィールドをwikiデモ・インデックスに追加するには、以下のように入力します。
      ALTER TABLE wiki.solr ADD intfield int;
      ALTER SEARCH INDEX SCHEMA ON wiki.solr ADD field intfield;
      以下のフィールドを追加します。
      <field indexed="true" multiValued="false" name="intfield" stored="true" type="TrieIntField" />

      以下のフィールド型を追加します。

      <fieldType name="TrieIntField" class="org.apache.solr.schema.TrieIntField"/>
    • タプル型またはUDT型のテーブル・カラムの追加
      タプル型のカラムが複数のフィールドとして追加されます。
      ALTER TABLE solr.wiki ADD fieldname tuple<text,int>;
      ALTER SEARCH INDEX SCHEMA ON solr.wiki ADD fields.field fieldname;
      以下をスキーマに追加します。
      <field indexed="true" multiValued="false" name="fieldname" stored="true" type="TupleField" />
               <field indexed="true" multiValued="false" name="fieldname.field1" stored="true" type="TextField" />
               <field indexed="true" multiValued="false" name="fieldname.field2" stored="true" type="TrieIntField" />
      注: ADD fields.field fieldnameの先頭要素fields.の追加は任意であり、表示上の構造のみを提供します。
  2. 保留中の変更内容を確認します。
    DESCRIBE PENDING SEARCH INDEX SCHEMA ON [keyspace_name.]table_name;
  3. 変更内容をアクティブ化します。
    RELOAD SEARCH INDEX ON [keyspace_name.]table_name;
    保留中のスキーマをアクティブなスキーマにコピーします。テーブルへのデータの挿入などの新しいトランザクションは、アクティブなスキーマを使用して処理されます。既存のデータにはスキーマの変更の影響はありません。
  4. インデックスをリビルドします。
    REBUILD SEARCH INDEX ON [keyspace_name.]table_name;
    REBUILD SEARCH INDEXにより、既存のデータを使用してインデックスが再作成されます。フィールド型を変更した場合や、フィールドをインデックスに追加した場合など、データのインデックス作成方法を変更した場合にはリビルドする必要があります。