VIEW (Векторный индекс)

Важно

Поддерживается только для строковых таблиц. Поддержка функциональности для колоночных таблиц находится в разработке.

Для выполнения запроса SELECT с использованием векторного индекса в строчно-ориентированной таблице используйте следующий синтаксис:

SELECT ...
    FROM TableName VIEW IndexName
    WHERE ...
    ORDER BY Knn::DistanceFunction(...)
    LIMIT ...
SELECT ...
    FROM TableName VIEW IndexName
    WHERE ...
    ORDER BY Knn::SimilarityFunction(...) DESC
    LIMIT ...

Примечание

Векторный индекс не будет автоматически выбран оптимизатором, поэтому его нужно указывать явно с помощью выражения VIEW IndexName.

Примеры

  • Выбор всех полей из таблицы series с использованием векторного индекса views_index, созданного для embedding с мерой близости "скалярное произведение":

    SELECT series_id, title, info, release_date, views, uploaded_user_id, Knn::InnerProductSimilarity(embedding, $target) as similarity
        FROM series VIEW views_index
        ORDER BY similarity DESC
        LIMIT 10
    
  • Выбор всех полей из таблицы series с использованием префиксного векторного индекса views_index2, созданного для embedding с мерой близости "скалярное произведение" и префиксной колонкой release_date:

    SELECT series_id, title, info, release_date, views, uploaded_user_id, Knn::InnerProductSimilarity(embedding, $target) as similarity
        FROM series VIEW views_index2
        WHERE release_date = "2025-03-31"
        ORDER BY Knn::InnerProductSimilarity(embedding, $TargetEmbedding) DESC
        LIMIT 10
    
Предыдущая
Следующая