From 76d6408ff7ad10f30dc0d2f562f61bdecfb63619 Mon Sep 17 00:00:00 2001 From: azevaykin Date: Fri, 20 Jun 2025 10:05:41 +0300 Subject: [PATCH 1/3] Docs: more about ANN --- ydb/docs/en/core/concepts/glossary.md | 5 +++-- ydb/docs/en/core/concepts/vector_search.md | 5 ++++- ydb/docs/ru/core/concepts/glossary.md | 3 ++- ydb/docs/ru/core/concepts/vector_search.md | 2 ++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ydb/docs/en/core/concepts/glossary.md b/ydb/docs/en/core/concepts/glossary.md index cd24ef9007aa..c194ad622850 100644 --- a/ydb/docs/en/core/concepts/glossary.md +++ b/ydb/docs/en/core/concepts/glossary.md @@ -158,11 +158,12 @@ A **primary index** or **primary key index** is the main data structure used to A **secondary index** is an additional data structure used to locate rows in a table, typically when it can't be done efficiently using the [primary index](#primary-index). Unlike the primary index, secondary indexes are managed independently from the main table data. Thus, a table might have multiple secondary indexes for different use cases. {{ ydb-short-name }}'s capabilities in terms of secondary indexes are covered in a separate article [{#T}](secondary_indexes.md). Secondary indexes can be either unique or non-unique. -A special type of **secondary index** is singled out separately - [vector index] (#vector-index). +A special type of **secondary index** is singled out separately - [vector index](#vector-index). #### Vector Index {#vector-index} -**Vector index** is an additional data structure used to speed up the [vector search](vector_search.md) when there is a large amount of data, and the [exact vector search without an index](../yql/reference/udf/list/knn.md) does not perform satisfactorily. The capabilities of {{ ydb-short-name }} regarding vector indexes are described in a separate article [{#T}](../dev/vector-indexes.md). +**Vector index** is an additional data structure used to speed up the [vector search](vector_search.md) when there is a large amount of data, and the [exact vector search without an index](../yql/reference/udf/list/knn.md) does not perform satisfactorily. +The capabilities of {{ ydb-short-name }} regarding **ANN search** (approximate nearest neighbor search) with vector indexes are described in a separate article [{#T}](../dev/vector-indexes.md). **Vector index** is distinct from a [secondary index](#secondary-index) as it solves other tasks. diff --git a/ydb/docs/en/core/concepts/vector_search.md b/ydb/docs/en/core/concepts/vector_search.md index 9c272524d4a5..cf7565980a1d 100644 --- a/ydb/docs/en/core/concepts/vector_search.md +++ b/ydb/docs/en/core/concepts/vector_search.md @@ -4,11 +4,14 @@ **Vector search**, also known as [nearest neighbor search](https://en.wikipedia.org/wiki/Nearest_neighbor_search) (NN), is an optimization problem where the goal is to find the nearest vector (or a set of vectors) in a given dataset relative to a specified query vector. The proximity between vectors is determined using distance or similarity metrics. +One common approach, especially for large datasets, is **approximate nearest neighbor (ANN) search**, which allows faster vector retieval at the cost of potential accuracy trade-offs. + + Vector search is actively used in the following areas: * recommendation systems * semantic search -* search for similar images +* image similarity search * anomaly detection * classification systems diff --git a/ydb/docs/ru/core/concepts/glossary.md b/ydb/docs/ru/core/concepts/glossary.md index ff0b172ab086..3865f67d09ae 100644 --- a/ydb/docs/ru/core/concepts/glossary.md +++ b/ydb/docs/ru/core/concepts/glossary.md @@ -156,7 +156,8 @@ #### Векторный индекс {#vector-index} -**Векторный индекс** или **vector index** — это дополнительная структура данных, используемая для ускорения решения задачи [векторного поиска](vector_search.md), когда данных достаточно много и [точный векторный поиск без индекса](../yql/reference/udf/list/knn.md) не работает удовлетворительно. Возможности {{ ydb-short-name }} в отношении векторных индексов описаны в отдельной статье [{#T}](../dev/vector-indexes.md). +**Векторный индекс** или **vector index** — это дополнительная структура данных, используемая для ускорения решения задачи [векторного поиска](vector_search.md), когда данных достаточно много и [точный векторный поиск без индекса](../yql/reference/udf/list/knn.md) не работает удовлетворительно. +Возможности {{ ydb-short-name }} по приближенному векторному поиску (ANN search) с помощью векторных индексов описаны в отдельной статье [{#T}](../dev/vector-indexes.md). **Векторный индекс** выделяется отдельно от [вторичного индекса](#secondary-index), так как решает иные задачи. diff --git a/ydb/docs/ru/core/concepts/vector_search.md b/ydb/docs/ru/core/concepts/vector_search.md index 00f2d5d498b8..01ddb06e6c50 100644 --- a/ydb/docs/ru/core/concepts/vector_search.md +++ b/ydb/docs/ru/core/concepts/vector_search.md @@ -4,6 +4,8 @@ **Векторный поиск**, также известный как [поиск ближайшего соседа](https://en.wikipedia.org/wiki/Nearest_neighbor_search) (NN), представляет собой задачу оптимизации, в которой необходимо найти ближайший вектор (или множество векторов) в данном наборе данных относительно заданного вектора запроса. Близость между векторами определяется с помощью метрик расстояния или сходства. +Одним из распространённых подходов, особенно при работе с большими наборами данных, является приближенный векторый поиск (ANN search), который позволяет получать более быстрые результаты за счёт возможной потери точности. + Векторный поиск активно используется в следующих областях: * рекомендательные системы; From 6da65bda972b63513c7fbe04354ba5d2827cf70a Mon Sep 17 00:00:00 2001 From: azevaykin <145343289+azevaykin@users.noreply.github.com> Date: Mon, 23 Jun 2025 07:12:43 +0300 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: Ivan Blinkov --- ydb/docs/en/core/concepts/vector_search.md | 2 +- ydb/docs/ru/core/concepts/glossary.md | 2 +- ydb/docs/ru/core/concepts/vector_search.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ydb/docs/en/core/concepts/vector_search.md b/ydb/docs/en/core/concepts/vector_search.md index cf7565980a1d..308ca72212a4 100644 --- a/ydb/docs/en/core/concepts/vector_search.md +++ b/ydb/docs/en/core/concepts/vector_search.md @@ -4,7 +4,7 @@ **Vector search**, also known as [nearest neighbor search](https://en.wikipedia.org/wiki/Nearest_neighbor_search) (NN), is an optimization problem where the goal is to find the nearest vector (or a set of vectors) in a given dataset relative to a specified query vector. The proximity between vectors is determined using distance or similarity metrics. -One common approach, especially for large datasets, is **approximate nearest neighbor (ANN) search**, which allows faster vector retieval at the cost of potential accuracy trade-offs. +One common approach, especially for large datasets, is **approximate nearest neighbor (ANN) search**, which allows faster vector retrieval at the cost of potential accuracy trade-offs. Vector search is actively used in the following areas: diff --git a/ydb/docs/ru/core/concepts/glossary.md b/ydb/docs/ru/core/concepts/glossary.md index 3865f67d09ae..ba2e79647dea 100644 --- a/ydb/docs/ru/core/concepts/glossary.md +++ b/ydb/docs/ru/core/concepts/glossary.md @@ -157,7 +157,7 @@ #### Векторный индекс {#vector-index} **Векторный индекс** или **vector index** — это дополнительная структура данных, используемая для ускорения решения задачи [векторного поиска](vector_search.md), когда данных достаточно много и [точный векторный поиск без индекса](../yql/reference/udf/list/knn.md) не работает удовлетворительно. -Возможности {{ ydb-short-name }} по приближенному векторному поиску (ANN search) с помощью векторных индексов описаны в отдельной статье [{#T}](../dev/vector-indexes.md). +Возможности {{ ydb-short-name }} по приближённому поиску ближайших соседей (ANN search) с помощью векторных индексов описаны в отдельной статье [{#T}](../dev/vector-indexes.md). **Векторный индекс** выделяется отдельно от [вторичного индекса](#secondary-index), так как решает иные задачи. diff --git a/ydb/docs/ru/core/concepts/vector_search.md b/ydb/docs/ru/core/concepts/vector_search.md index 01ddb06e6c50..012bed3ab09e 100644 --- a/ydb/docs/ru/core/concepts/vector_search.md +++ b/ydb/docs/ru/core/concepts/vector_search.md @@ -4,7 +4,7 @@ **Векторный поиск**, также известный как [поиск ближайшего соседа](https://en.wikipedia.org/wiki/Nearest_neighbor_search) (NN), представляет собой задачу оптимизации, в которой необходимо найти ближайший вектор (или множество векторов) в данном наборе данных относительно заданного вектора запроса. Близость между векторами определяется с помощью метрик расстояния или сходства. -Одним из распространённых подходов, особенно при работе с большими наборами данных, является приближенный векторый поиск (ANN search), который позволяет получать более быстрые результаты за счёт возможной потери точности. +Одним из распространённых подходов, особенно при работе с большими наборами данных, является приближённый поиск ближайших соседей (ANN search), который позволяет получать более быстрые результаты за счёт возможной потери точности. Векторный поиск активно используется в следующих областях: From 1b4b8512fe989146100b6cffe414eed952acdbdd Mon Sep 17 00:00:00 2001 From: Ivan Blinkov Date: Wed, 25 Jun 2025 13:16:18 +0700 Subject: [PATCH 3/3] Apply suggestions from code review --- ydb/docs/en/core/concepts/glossary.md | 2 +- ydb/docs/ru/core/concepts/glossary.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ydb/docs/en/core/concepts/glossary.md b/ydb/docs/en/core/concepts/glossary.md index c194ad622850..4357e318809a 100644 --- a/ydb/docs/en/core/concepts/glossary.md +++ b/ydb/docs/en/core/concepts/glossary.md @@ -162,7 +162,7 @@ A special type of **secondary index** is singled out separately - [vector index] #### Vector Index {#vector-index} -**Vector index** is an additional data structure used to speed up the [vector search](vector_search.md) when there is a large amount of data, and the [exact vector search without an index](../yql/reference/udf/list/knn.md) does not perform satisfactorily. +**Vector index** is an additional data structure used to speed up the [vector search](vector_search.md) when there is a large amount of data, and the [exact vector search without an index](../yql/reference/udf/list/knn.md) does not perform satisfactorily. The capabilities of {{ ydb-short-name }} regarding **ANN search** (approximate nearest neighbor search) with vector indexes are described in a separate article [{#T}](../dev/vector-indexes.md). **Vector index** is distinct from a [secondary index](#secondary-index) as it solves other tasks. diff --git a/ydb/docs/ru/core/concepts/glossary.md b/ydb/docs/ru/core/concepts/glossary.md index ba2e79647dea..e125a35acb41 100644 --- a/ydb/docs/ru/core/concepts/glossary.md +++ b/ydb/docs/ru/core/concepts/glossary.md @@ -156,7 +156,7 @@ #### Векторный индекс {#vector-index} -**Векторный индекс** или **vector index** — это дополнительная структура данных, используемая для ускорения решения задачи [векторного поиска](vector_search.md), когда данных достаточно много и [точный векторный поиск без индекса](../yql/reference/udf/list/knn.md) не работает удовлетворительно. +**Векторный индекс** или **vector index** — это дополнительная структура данных, используемая для ускорения решения задачи [векторного поиска](vector_search.md), когда данных достаточно много и [точный векторный поиск без индекса](../yql/reference/udf/list/knn.md) не работает удовлетворительно. Возможности {{ ydb-short-name }} по приближённому поиску ближайших соседей (ANN search) с помощью векторных индексов описаны в отдельной статье [{#T}](../dev/vector-indexes.md). **Векторный индекс** выделяется отдельно от [вторичного индекса](#secondary-index), так как решает иные задачи.