diff --git a/solutions/search/vector/bring-own-vectors.md b/solutions/search/vector/bring-own-vectors.md index a09033c377..3f4d88d261 100644 --- a/solutions/search/vector/bring-own-vectors.md +++ b/solutions/search/vector/bring-own-vectors.md @@ -23,6 +23,8 @@ In this introduction to [vector search](/solutions/search/vector.md), you’ll s To learn about role-based access control, check out [](/deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md). +To learn about {{es-serverless}} project profiles, refer to [](dense-vector.md#vector-profiles). + ## Create a vector database When you create vectors (or _vectorize_ your data), you convert complex content (text, images, audio, video) into multidimensional numeric representations. These vectors are stored in specialized data structures that enable efficient similarity search and fast kNN distance calculations. @@ -43,7 +45,8 @@ Each document in our simple data set will have: * An embedding of that review: stored in a `review_vector` field, which is defined as a [`dense_vector`](elasticsearch://reference/elasticsearch/mapping-reference/dense-vector.md) data type. :::{tip} -The `dense_vector` type automatically uses `int8_hnsw` quantization by default to reduce the memory footprint when searching float vectors. Learn how to balance performance and accuracy in [Dense vector quantization](elasticsearch://reference/elasticsearch/mapping-reference/dense-vector.md#dense-vector-quantization). +The `dense_vector` type automatically uses quantization by default to reduce the memory footprint when searching float vectors. +Learn more about the default quantization strategy and balancing performance and accuracy in [Dense vector field type](elasticsearch://reference/elasticsearch/mapping-reference/dense-vector.md). ::: The following API request defines the `review_text` and `review_vector` fields: diff --git a/solutions/search/vector/dense-vector.md b/solutions/search/vector/dense-vector.md index e0520b0fca..75614442f9 100644 --- a/solutions/search/vector/dense-vector.md +++ b/solutions/search/vector/dense-vector.md @@ -30,6 +30,17 @@ To implement dense vector search in {{es}}, you need both an index configuration 2. **Query the index with k-NN search** - Use the [`knn` query](knn.md) to retrieve results based on vector similarity +### General purpose and vector optimized projects [vector-profiles] +```{applies_to} +serverless: +``` + +When you use the [API]({{cloud-serverless-apis}}operation/operation-createelasticsearchproject) to create an {{es-serverless}} project, you can choose between two profiles: `general_purpose` and `vector`. +The general purpose profile is recommended for most search use cases, including full text search, sparse vectors, and dense vectors that use compression such as BBQ. +The vector profile is recommended only when your use case is based on uncompressed dense vectors with high dimensionality. + +For more information about how the profile affects virtual compute unit (VCU) allocation and costs, refer to [](/deploy-manage/cloud-organization/billing/elasticsearch-billing-dimensions.md). + ## Better Binary Quantization (BBQ) [bbq] Better Binary Quantization (BBQ) is an advanced vector quantization technique for `dense_vector` fields. It compresses embeddings into compact binary form, enabling faster similarity search and reducing memory usage. This improves both search relevance and cost efficiency, especially when used with HNSW (Hierarchical Navigable Small World). diff --git a/solutions/search/vector/knn.md b/solutions/search/vector/knn.md index af3cd30df8..1458fd5f03 100644 --- a/solutions/search/vector/knn.md +++ b/solutions/search/vector/knn.md @@ -44,6 +44,11 @@ To run a kNN search in {{es}}: * `create`, `index`, or `write` to add data * `read` to search the index +:::{tip} +The default type of {{es-serverless}} project is suitable for this use case unless you plan to use uncompressed dense vectors (`int4` or `int8` quantization strategies) with high dimensionality. +Refer to [](dense-vector.md#vector-profiles). +::: + ## kNN search methods: approxiamte and exact kNN [knn-methods] {{es}} supports two methods for kNN search: