Guidelines and Restrictions for Hybrid Vector Indexes

Review these guidelines and the current set of restrictions when working with hybrid vector indexes.

Index Creation Guidelines

A hybrid vector index is a single domain index that includes both Oracle Text search index and Oracle AI Vector Search vector index. Any failure during the construction of one index type can cause the entire index creation to fail as a whole. Therefore, you must adhere to all the indexing guidelines that are individually applicable to a vector index and an Oracle Text search index.

For example, if there is insufficient vector memory pool for the HNSW vector index or if there is inadequate tablespace, then the vector index-related error can lead to a failure in creating a hybrid vector index.

To check the status of your index, you can query the regular Oracle Text data dictionary views, such as CTX_INDEXES and CTX_USER_INDEXES. See Oracle Text Reference.

Hybrid Vector Index Maintenance Operations

You can maintain your hybrid vector indexes just like an Oracle Text index. A hybrid vector index supports mostly all the traditional operations of Oracle Text indexes, such as Synchronization, Optimization, and Automatic Maintenance.

Here are some guidelines on maintaining indexes after DML operations on base tables:

Guidelines to Run Direct SQL Queries on $VR

If you query secondary tables such as $VR directly before an index optimization job is run, you may still see old data or deleted rows because these are ignored at query time by Oracle provided search API (DBMS_HYBRID_VECTOR.SEARCH). For example, you may see lazy deletes that mark the row IDs as deleted but are only removed from secondary tables after the index is optimized.

Instead of examining the $VR table directly, you can use the data dictionary view <index name>$VECTORS to work with the contents of the $VR table, and accordingly run direct SQL queries on the view. This view lets you query the document table’s row IDs by excluding all lazy deletes (along with corresponding chunks and embeddings that are generated).

Note that the <index name>$VECTORS view resides in a user’s schema. Therefore, if a hybrid vector index is named IDX, then the view name is IDX$VECTORS.

For information on this view, see <index name>$VECTORS.

Guidelines for VPD Policy Protection

If you have applied an Oracle Virtual Private Database (VPD) policy to the base table, then you must:

For information on how to use VPD to control data access in general, see Oracle AI Database Security Guide.

Hybrid Vector Index DDL Restrictions

Note:

With the current set of restrictions, Oracle recommends that you create a hybrid vector index in the following scenarios:

If you have the data that will only be searched semantically or if you want to manually create your own third-party vector embeddings (using the DBMS_VECTOR and DBMS_VECTOR_CHAIN third-party REST APIs), then use a vector index instead of creating a hybrid vector index.

See Also: