インデックスからカラムを削除する

CQLカラムをインデックスから削除します。

ALTER SEARCH INDEX SCHEMAフィールドのショートカットを使用して、CQLカラムを削除します。フィールドは、スキーマに定義されている名前に基づいて削除されます。

手順

  1. CQLカラムをインデックスから削除します。
    • 標準カラムを削除します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP field intfield;
      
      ALTER TABLE wiki.solr
      DROP intfield int;
    • フィールド名を引用符で囲み、アスタリスクなどの特殊文字を含むフィールドを削除します。次の例では、フィールド名を二重引用符で囲む短い形式のコマンドを示します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP field "fieldname*";
      次の例では、フィールド名を一重引用符で囲む長い形式のコマンドを示します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP fields.field[@name='fieldname*'];
    • フィールドにアスタリスクが含まれているため、長い形式のコマンドが使用されている動的フィールドを削除します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP fields.dynamicField[@name='dyna_*'];
    • コピー元とコピー先のフィールドを指定する必要があるため、長い形式のコマンドが使用されているコピー・フィールドを削除します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP copyField[@source='name', @dest='allfields'];
    • タプル・カラムをインデックスから削除します。
      ベース・フィールド名を削除する場合は、TupleFieldとすべての子フィールドを削除します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP field fieldname;
      個々の子フィールドを削除するには、以下のように入力します。
      ALTER SEARCH INDEX SCHEMA ON wiki.solr
      DROP field "fieldname.field1";
  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により、既存のデータを使用してインデックスが再作成されます。フィールド型を変更した場合や、フィールドをインデックスに追加した場合など、データのインデックス作成方法を変更した場合にはリビルドする必要があります。