ALTER INDEX

既存のハイブリッド・ベクトル索引を変更するには、ALTER INDEX SQL文を使用します。

用途

ハイブリッド・ベクトル索引に変更を加えます。

構文

ALTER INDEX [schema.]index_name REBUILD 
  [PARAMETERS('UPDATE VECTOR INDEX')]
  [PARALLEL n];

ノート:

  • PARAMETERS句を指定しない場合、ハイブリッド・ベクトル索引のすべての部分(Oracle Text索引とベクトル索引の両方)が既存のプリファレンス設定で再作成されます。

  • ALTER INDEX RENAME構文を使用したハイブリッド・ベクトル索引の名前変更はサポートされていません。

[schema.]index_name

変更するハイブリッド・ベクトル索引の名前を指定します。

PARAMETERS(UPDATE VECTOR INDEX)

ハイブリッド・ベクトル索引のベクトル索引部分のみを元のプリファレンス設定で再作成します。

PARALLEL

CREATE HYBRID VECTOR INDEX文で説明されているように、パラレル索引付けを指定します。

PARALLEL句の詳細は、「CREATE HYBRID VECTOR INDEX」を参照してください。

既存のハイブリッド・ベクトル索引を変更する方法の例を次に示します:
  • ハイブリッド・ベクトル索引のすべての部分を再構築するには:

    ハイブリッド・ベクトル索引のすべての部分(Oracle Text索引とベクトル索引の両方)を元のプリファレンス設定で再構築するには、次の構文を使用します:

    構文:

    ALTER INDEX index_name REBUILD [PARALLEL n];

    ハイブリッド・ベクトル索引の両方の部分を再構築する場合、PARAMETERS句を指定する必要はありません。

    例:

    ALTER INDEX my_hybrid_idx REBUILD;
    
    SELECT (select id from doc_table where rowid = jt.doc_rowid) as doc,
           jt.chunk
    FROM JSON_TABLE(
             DBMS_HYBRID_VECTOR.SEARCH(
               json(
                 '{ "hybrid_index_name" : "my_hybrid_idx",
                    "vector" : 
                     { "search_text"    : "vector based search capabilities",
                       "search_mode"    : "CHUNK"
                     },
                    "return" : 
                     { "topN"           : 10 }
                 }')
               ),
               '$[*]' COLUMNS doc_rowid  PATH '$.rowid',
                              chunk      PATH '$.chunk_text') jt;
  • ベクトル索引の部分のみを再構築するには:

    ハイブリッド・ベクトル索引のベクトル索引部分のみを元のプリファレンス設定で再構築するには、次の構文を使用します:

    構文:

    ALTER INDEX index_name REBUILD 
      PARAMETERS('UPDATE VECTOR INDEX') [PARALLEL n];

    例:

    ALTER INDEX my_hybrid_idx REBUILD 
      PARAMETERS('UPDATE VECTOR INDEX') PARALLEL 3;
    
    SELECT (select id from doc_table where rowid = jt.doc_rowid) as doc,
           jt.chunk
    FROM JSON_TABLE(
             DBMS_HYBRID_VECTOR.SEARCH(
               json(
                 '{ "hybrid_index_name" : "my_hybrid_idx",
                    "vector" : 
                     { "search_text"    : "vector based search capabilities",
                       "search_mode"    : "CHUNK"
                     },
                    "return" : 
                     { "topN"           : 10 }
                 }')
               ),
               '$[*]' COLUMNS doc_rowid  PATH '$.rowid',
                              chunk      PATH '$.chunk_text') jt;