Class GemFireVectorStore
java.lang.Object
org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
org.springframework.ai.vectorstore.gemfire.GemFireVectorStore
- All Implemented Interfaces:
Consumer<List<Document>>,DocumentWriter,VectorStore,VectorStoreRetriever,org.springframework.beans.factory.InitializingBean
public class GemFireVectorStore
extends AbstractObservationVectorStore
implements org.springframework.beans.factory.InitializingBean
A VectorStore implementation backed by GemFire. This store supports creating, updating,
deleting, and similarity searching of documents in a GemFire index.
- Author:
- Geet Rawat, Christian Tzolov, Thomas Vitale, Soby Chacko, Sebastien Deleuze
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder class for creatingGemFireVectorStoreinstances.static class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final String[]static final Stringstatic final Stringstatic final intstatic final intstatic final Stringstatic final booleanstatic final intFields inherited from class org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
batchingStrategy, embeddingModel -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProtected constructor that accepts a builder instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidInitializes the GemFireVectorStore after properties are set.static GemFireVectorStore.Builderbuilder(EmbeddingModel embeddingModel) voidCreates a new index in the GemFireVectorStore using specified parameters.createObservationContextBuilder(String operationName) Create a newVectorStoreObservationContext.Builderinstance.voidvoidPerform the actual add operation.voidPerform the actual delete operation.doSimilaritySearch(SearchRequest request) Perform the actual similarity search operation.intintString[]getIndex()intbooleanChecks if the index exists in the GemFireVectorStore.Methods inherited from class org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
add, delete, delete, doDelete, similaritySearchMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.ai.document.DocumentWriter
writeMethods inherited from interface org.springframework.ai.vectorstore.VectorStore
accept, delete, getName, getNativeClientMethods inherited from interface org.springframework.ai.vectorstore.VectorStoreRetriever
similaritySearch
-
Field Details
-
DEFAULT_HOST
- See Also:
-
DEFAULT_PORT
public static final int DEFAULT_PORT- See Also:
-
DEFAULT_INDEX_NAME
- See Also:
-
UPPER_BOUND_BEAM_WIDTH
public static final int UPPER_BOUND_BEAM_WIDTH- See Also:
-
DEFAULT_BEAM_WIDTH
public static final int DEFAULT_BEAM_WIDTH- See Also:
-
DEFAULT_MAX_CONNECTIONS
public static final int DEFAULT_MAX_CONNECTIONS- See Also:
-
DEFAULT_SIMILARITY_FUNCTION
- See Also:
-
DEFAULT_FIELDS
-
DEFAULT_BUCKETS
public static final int DEFAULT_BUCKETS- See Also:
-
DEFAULT_SSL_ENABLED
public static final boolean DEFAULT_SSL_ENABLED- See Also:
-
-
Constructor Details
-
GemFireVectorStore
Protected constructor that accepts a builder instance. This is the preferred way to create new GemFireVectorStore instances.- Parameters:
builder- the configured builder instance
-
-
Method Details
-
builder
-
getIndexName
-
getBeamWidth
public int getBeamWidth() -
getMaxConnections
public int getMaxConnections() -
getBuckets
public int getBuckets() -
getVectorSimilarityFunction
-
getFields
-
afterPropertiesSet
Initializes the GemFireVectorStore after properties are set. This method is called after all bean properties have been set and allows the bean to perform any initialization it requires.- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
indexExists
public boolean indexExists()Checks if the index exists in the GemFireVectorStore.- Returns:
trueif the index exists,falseotherwise
-
getIndex
-
doAdd
Description copied from class:AbstractObservationVectorStorePerform the actual add operation.- Specified by:
doAddin classAbstractObservationVectorStore- Parameters:
documents- the documents to add
-
doDelete
Description copied from class:AbstractObservationVectorStorePerform the actual delete operation.- Specified by:
doDeletein classAbstractObservationVectorStore- Parameters:
idList- the list of document IDs to delete
-
doSimilaritySearch
Description copied from class:AbstractObservationVectorStorePerform the actual similarity search operation.- Specified by:
doSimilaritySearchin classAbstractObservationVectorStore- Parameters:
request- the search request- Returns:
- the list of documents that match the query request conditions
-
createIndex
public void createIndex() throws com.fasterxml.jackson.core.JsonProcessingExceptionCreates a new index in the GemFireVectorStore using specified parameters. This method is invoked during initialization.- Throws:
com.fasterxml.jackson.core.JsonProcessingException- if an error occurs during JSON processing
-
deleteIndex
public void deleteIndex() -
createObservationContextBuilder
Description copied from class:AbstractObservationVectorStoreCreate a newVectorStoreObservationContext.Builderinstance.- Specified by:
createObservationContextBuilderin classAbstractObservationVectorStore- Parameters:
operationName- the operation name- Returns:
- the observation context builder
-