GH-1949: Align CassandraVectorStore API naming with other vector stores
Fixes: #1949 - Rename 'disallowSchemaChanges(boolean)' to 'initializeSchema(boolean)' for consistency with other vector store implementations - Maintain semantic meaning by inverting the default value (from disallowSchemaChanges=false to initializeSchema=true) in the CassandraVectorStore implementation - Keep default behavior in auto-configuration consistent with other vector stores - Remove unused 'returnEmbeddings' functionality and related code - Update test cases to use the new initialization parameter - Ref docs and javadocs updates This change improves API consistency across Spring AI vector stores while preserving the same behavior in the Cassandra implementation. Signed-off-by: Soby Chacko <soby.chacko@broadcom.com>
This commit is contained in:
committed by
Mark Pollack
parent
848a3fd31f
commit
868e288e01
@@ -20,9 +20,9 @@ This Spring AI Vector Store is designed to work for both brand-new RAG applicati
|
||||
|
||||
The store can also be used for non-RAG use-cases in an existing database, e.g. semantic searches, geo-proximity searches, etc.
|
||||
|
||||
The store will automatically create, or enhance, the schema as needed according to its configuration. If you don't want the schema modifications, configure the store with `disallowSchemaChanges`.
|
||||
The store will automatically create, or enhance, the schema as needed according to its configuration. If you don't want the schema modifications, configure the store with `initializeSchema`.
|
||||
|
||||
When using spring-boot-autoconfigure `disallowSchemaChanges` defaults to true, per Spring Boot standards, and you must opt-in to schema creation/modifications by setting `...initialize-schema=true` in the `application.properties` file.
|
||||
When using spring-boot-autoconfigure `initializeSchema` defaults to `false`, per Spring Boot standards, and you must opt-in to schema creation/modifications by setting `...initialize-schema=true` in the `application.properties` file.
|
||||
|
||||
== What is JVector?
|
||||
|
||||
@@ -167,7 +167,7 @@ public VectorStore vectorStore(CqlSession session, EmbeddingModel embeddingModel
|
||||
// Performance tuning
|
||||
.fixedThreadPoolExecutorSize(32)
|
||||
// Schema management
|
||||
.disallowSchemaChanges(false)
|
||||
.initializeSchema(true)
|
||||
// Custom batching strategy
|
||||
.batchingStrategy(new TokenCountBatchingStrategy())
|
||||
.build();
|
||||
@@ -282,7 +282,7 @@ public VectorStore vectorStore(CqlSession session, EmbeddingModel embeddingModel
|
||||
.contentColumnName("body")
|
||||
.embeddingColumnName("all_minilm_l6_v2_embedding")
|
||||
.indexName("all_minilm_l6_v2_ann")
|
||||
.disallowSchemaChanges(true)
|
||||
.initializeSchema(false)
|
||||
.addMetadataColumns(extraColumns)
|
||||
.primaryKeyTranslator((List<Object> primaryKeys) -> {
|
||||
if (primaryKeys.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user