OpenViSTAI · Agents · Blockchain · Crypto
Menu
RAG & Knowledge Systems

Vectors

Vectors is an Apache-2.0 Java library that embeds indexed vector similarity search, durable local storage and metadata filtering inside a JVM application. It supports in-memory or persistent collections and provides adapters for Spring AI and LangChain4j.

Independent OpenViST project profile, based on linked sources.

Vectors — OpenViST project profile in RAG & Knowledge Systems.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Vectors when a Java application needs indexed vector retrieval and local persistence within its own process, rather than a separate vector-database service.

Who it is for

  • Java and JVM developers adding local vector retrieval to an application.
  • Teams building a retrieval component for a knowledge or RAG workflow.
  • Spring AI and LangChain4j developers seeking an embedded vector-store integration.

Documented uses

  • Store application embeddings in an in-process collection, with optional durable local state.
  • Search vectors using an index and a supported similarity metric.
  • Filter retrieval results using associated metadata.
  • Connect a collection to Spring AI or LangChain4j through the provided adapters.
Before you choose

Requirements & limits

The repository is public and states an Apache-2.0 license. The library requires JDK 25; the Vector API module must be enabled at runtime.

  • Persistent storage paths must be absolute; omitting the path creates an in-memory collection.
  • A persistent collection is designed for one in-process writer per directory.
  • Changes are staged until commit() unless an auto-commit threshold is configured.
  • The repository recommends backing up data before upgrades across on-disk format versions.
  • Optional S3 and Arrow IPC modules add their own dependencies and runtime requirements.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Create and search a persistent vector collection

Add vectors to a local collection, commit the data, and issue a similarity search from Java.

Before you start

  • JDK 25 with the incubating Vector API enabled using --add-modules jdk.incubator.vector.
  • The com.integrallis:vectors dependency.
  • An absolute storage path for a persistent collection.

Steps

  1. Add com.integrallis:vectors:$vectorsVersion to the application dependencies.

  2. Build a VectorCollection with an absolute storagePath, a vector dimension, a similarity metric and an index type.

  3. Add documents containing vectors to the collection and call commit().

  4. Build a SearchRequest with a query vector and result count, then call collection.search().

Expected outcome

The documented example creates a persisted collection, stores two vectors, commits them and requests the closest results for a query vector.

Guide limitations

  • Adds, upserts and deletes are staged until commit() unless an auto-commit threshold is configured.
  • The repository describes one in-process writer per persistent collection directory.
  • Back up collection data before upgrades across on-disk format versions.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
integrallis/vectors · Official homepage title · retained in its source language

Related options

External vector database — The repository identifies an external database as a better fit when an application needs multi-process writers, cross-language clients or managed multi-tenant operations.