From 22c3a7d84d05eb09011400d4da1bc4cbe74cadf1 Mon Sep 17 00:00:00 2001 From: Ivan Despot <66276597+g-despot@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:00:51 +0200 Subject: [PATCH] docs: clarify which properties are vectorized (source_properties + blob) The 'Configure semantic indexing' section said only text/text[] are vectorized. Two corrections: blob (a base64 string) is also vectorized by default, and when source_properties is set, listed non-text properties (number/int/bool/date/object and array variants) are vectorized too. Adds a 'Specify which properties to vectorize' subsection and a blob caution. --- docs/weaviate/config-refs/indexing/vector-index.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/weaviate/config-refs/indexing/vector-index.mdx b/docs/weaviate/config-refs/indexing/vector-index.mdx index eb2e5898..8b9a230f 100644 --- a/docs/weaviate/config-refs/indexing/vector-index.mdx +++ b/docs/weaviate/config-refs/indexing/vector-index.mdx @@ -245,7 +245,7 @@ For instance, text embedding integrations (e.g. `text2vec-cohere` for Cohere, or Unless specified otherwise in the collection definition, the default behavior is to: -- Only vectorize properties that use the `text` or `text[]` data type (unless [skipped](../../manage-collections/vector-config.mdx#property-level-settings)) +- Only vectorize properties with a string value — `text`, `text[]`, and `blob` (a base64-encoded string) — unless [skipped](../../manage-collections/vector-config.mdx#property-level-settings). Other data types (such as `number`, `int`, `boolean`, `date`, and `object`) are not vectorized unless they are listed in `source_properties` (see [below](#specify-which-properties-to-vectorize)). - Sort properties in alphabetical (a-z) order before concatenating values - If `vectorizePropertyName` is `true` (`false` by default) prepend the property name to each property value - Join the (prepended) property values with spaces @@ -273,6 +273,16 @@ To configure vectorization behavior on a per-collection basis, use `vectorizeCla To configure vectorization on a per-property basis, use `skip` and `vectorizePropertyName`. +### Specify which properties to vectorize + +To vectorize only a specific set of properties, set `source_properties` (the `properties` field of the vector configuration). Only the listed properties are then vectorized, in the order given. + +When `source_properties` is set, listed properties that are **not** text are also vectorized: `number`, `int`, `boolean`, `date`, `object`, and their array variants are converted to a string and concatenated into the input text. (Without `source_properties`, only string-valued properties — `text`, `text[]`, and `blob` — are vectorized; `uuid`, geo-coordinates, and phone-number properties are never vectorized.) + +:::caution `blob` properties are vectorized as text +A `blob` value is a base64-encoded string, so an indexed `blob` property is vectorized like text — even without `source_properties`. To avoid sending a blob's base64 data to a text vectorizer, exclude it with `source_properties` or [`skip`](../../manage-collections/vector-config.mdx#property-level-settings). +::: + ## Asynchronous indexing To enable asynchronous indexing, set the `ASYNC_INDEXING` environment variable to `true` in your Weaviate configuration (the `docker-compose.yml` file if you use Docker Compose). This setting enables asynchronous indexing for all collections.