Hierarchical Navigable Small World索引の構文およびパラメータ

Hierarchical Navigable Small Worldベクトル索引の構文および例を示します。

構文

CREATE VECTOR INDEX vector_index_name 
ON table_name (vector_column)
[GLOBAL] ORGANIZATION INMEMORY [NEIGHBOR] GRAPH
[WITH] [DISTANCE [CUSTOM [<schema>.][<package>.]] metric name]
[WITH TARGET ACCURACY percentage_value]
[PARAMETERS (TYPE HNSW , {NEIGHBORS max_closest_vectors_connected 
    | M max_closest_vectors_connected} 						  
    , EFCONSTRUCTION max_candidates_to_consider)]
[PARALLEL degree_of_parallelism]

HNSWパラメータ

NEIGHBORSMは同等であり、ベクトルが任意のレイヤーに保持できる近傍の最大数を表します。最後の頂点には、最大200万の近傍を持つことができる柔軟性が1つ追加されます。

EFCONSTRUCTIONは、挿入時に検索の各ステップで考慮される最も近いベクトル候補の最大数を表します。

HNSWベクトル索引パラメータの有効な範囲は次のとおりです。

  • ACCURACY: 0より大きく100以下
  • DISTANCE: EUCLIDEANL2_SQUARED (別名EUCLIDEAN_SQUARED)、COSINEDOTMANHATTANHAMMINGCUSTOM <custom metric name>
  • TYPE: HNSW
  • NEIGHBORS: 0より大きく2048以下
  • EFCONSTRUCTION: 0より大きく65535以下

CREATE VECTOR INDEX galaxies_hnsw_idx ON galaxies (embedding) ORGANIZATION INMEMORY NEIGHBOR GRAPH
DISTANCE COSINE
WITH TARGET ACCURACY 95;

CREATE VECTOR INDEX galaxies_hnsw_idx ON galaxies (embedding) ORGANIZATION INMEMORY NEIGHBOR GRAPH
DISTANCE COSINE
WITH TARGET ACCURACY 90 PARAMETERS (type HNSW, neighbors 40, efconstruction 500);

詳細は、『Oracle Database SQL言語リファレンス』「CREATE VECTOR INDEX」を参照してください。