Class AbstractObservationVectorStore

java.lang.Object
org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
All Implemented Interfaces:
Consumer<List<Document>>, DocumentWriter, VectorStore
Direct Known Subclasses:
AzureVectorStore, CassandraVectorStore, ChromaVectorStore, CoherenceVectorStore, CosmosDBVectorStore, CouchbaseSearchVectorStore, ElasticsearchVectorStore, GemFireVectorStore, HanaCloudVectorStore, MariaDBVectorStore, MilvusVectorStore, MongoDBAtlasVectorStore, Neo4jVectorStore, OpenSearchVectorStore, OracleVectorStore, PgVectorStore, PineconeVectorStore, QdrantVectorStore, RedisVectorStore, SimpleVectorStore, TypesenseVectorStore, WeaviateVectorStore

public abstract class AbstractObservationVectorStore extends Object implements VectorStore
Abstract base class for VectorStore implementations that provides observation capabilities.
Since:
1.0.0
Author:
Christian Tzolov, Soby Chacko
  • Field Details

  • Constructor Details

    • AbstractObservationVectorStore

      public AbstractObservationVectorStore(AbstractVectorStoreBuilder<?> builder)
      Creates a new AbstractObservationVectorStore instance with the specified builder settings. Initializes observation-related components and the embedding model.
      Parameters:
      builder - the builder containing configuration settings
  • Method Details

    • add

      public void add(List<Document> documents)
      Create a new AbstractObservationVectorStore instance.
      Specified by:
      add in interface VectorStore
      Parameters:
      documents - the documents to add
    • delete

      public void delete(List<String> deleteDocIds)
      Description copied from interface: VectorStore
      Deletes documents from the vector store.
      Specified by:
      delete in interface VectorStore
      Parameters:
      deleteDocIds - list of document ids for which documents will be removed.
    • delete

      public void delete(Filter.Expression filterExpression)
      Description copied from interface: VectorStore
      Deletes documents from the vector store based on filter criteria.
      Specified by:
      delete in interface VectorStore
      Parameters:
      filterExpression - Filter expression to identify documents to delete
    • similaritySearch

      @Nullable public List<Document> similaritySearch(SearchRequest request)
      Description copied from interface: VectorStore
      Retrieves documents by query embedding similarity and metadata filters to retrieve exactly the number of nearest-neighbor results that match the request criteria.
      Specified by:
      similaritySearch in interface VectorStore
      Parameters:
      request - Search request for set search parameters, such as the query text, topK, similarity threshold and metadata filter expressions.
      Returns:
      Returns documents th match the query request conditions.
    • doAdd

      public abstract void doAdd(List<Document> documents)
      Perform the actual add operation.
      Parameters:
      documents - the documents to add
    • doDelete

      public abstract void doDelete(List<String> idList)
      Perform the actual delete operation.
      Parameters:
      idList - the list of document IDs to delete
    • doDelete

      protected void doDelete(Filter.Expression filterExpression)
      Template method for concrete implementations to provide filter-based deletion logic.
      Parameters:
      filterExpression - Filter expression to identify documents to delete
    • doSimilaritySearch

      public abstract List<Document> doSimilaritySearch(SearchRequest request)
      Perform the actual similarity search operation.
      Parameters:
      request - the search request
      Returns:
      the list of documents that match the query request conditions
    • createObservationContextBuilder

      public abstract VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName)
      Parameters:
      operationName - the operation name
      Returns:
      the observation context builder