Skip to content

Commit d610dd6

Browse files
eddumelendeztzolov
authored andcommitted
Add default collection name to Qdrant
Add a default collection name similar to other vector store implementations. Currently, when using starters, qdrant requires a collection name. Otherwise, it fails.
1 parent 368f7bd commit d610dd6

File tree

4 files changed

+9
-6
lines changed

4 files changed

+9
-6
lines changed

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.springframework.ai.autoconfigure.vectorstore.qdrant;
1717

18+
import org.springframework.ai.vectorstore.qdrant.QdrantVectorStore;
1819
import org.springframework.boot.context.properties.ConfigurationProperties;
1920

2021
/**
@@ -29,7 +30,7 @@ public class QdrantVectorStoreProperties {
2930
/**
3031
* The name of the collection to use in Qdrant.
3132
*/
32-
private String collectionName;
33+
private String collectionName = QdrantVectorStore.DEFAULT_COLLECTION_NAME;
3334

3435
/**
3536
* The host of the Qdrant server.

spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfigurationIT.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,12 @@
4040

4141
/**
4242
* @author Christian Tzolov
43+
* @author Eddú Meléndez
4344
* @since 0.8.1
4445
*/
4546
@Testcontainers
4647
public class QdrantVectorStoreAutoConfigurationIT {
4748

48-
private static final String COLLECTION_NAME = "test_collection";
49-
5049
private static final int QDRANT_GRPC_PORT = 6334;
5150

5251
@Container
@@ -61,8 +60,7 @@ public class QdrantVectorStoreAutoConfigurationIT {
6160
.withConfiguration(AutoConfigurations.of(QdrantVectorStoreAutoConfiguration.class))
6261
.withUserConfiguration(Config.class)
6362
.withPropertyValues("spring.ai.vectorstore.qdrant.port=" + qdrantContainer.getMappedPort(QDRANT_GRPC_PORT),
64-
"spring.ai.vectorstore.qdrant.host=" + qdrantContainer.getHost(),
65-
"spring.ai.vectorstore.qdrant.collectionName=" + COLLECTION_NAME);
63+
"spring.ai.vectorstore.qdrant.host=" + qdrantContainer.getHost());
6664

6765
@Test
6866
public void addAndSearch() {

spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStorePropertiesTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,21 @@
1616
package org.springframework.ai.autoconfigure.vectorstore.qdrant;
1717

1818
import org.junit.jupiter.api.Test;
19+
import org.springframework.ai.vectorstore.qdrant.QdrantVectorStore;
1920

2021
import static org.assertj.core.api.Assertions.assertThat;
2122

2223
/**
2324
* @author Christian Tzolov
25+
* @author Eddú Meléndez
2426
*/
2527
public class QdrantVectorStorePropertiesTests {
2628

2729
@Test
2830
public void defaultValues() {
2931
var props = new QdrantVectorStoreProperties();
3032

31-
assertThat(props.getCollectionName()).isNull();
33+
assertThat(props.getCollectionName()).isEqualTo(QdrantVectorStore.DEFAULT_COLLECTION_NAME);
3234
assertThat(props.getHost()).isEqualTo("localhost");
3335
assertThat(props.getPort()).isEqualTo(6334);
3436
assertThat(props.isUseTls()).isFalse();

vector-stores/spring-ai-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantVectorStore.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public class QdrantVectorStore implements VectorStore, InitializingBean {
5959

6060
private static final String DISTANCE_FIELD_NAME = "distance";
6161

62+
public static final String DEFAULT_COLLECTION_NAME = "vector_store";
63+
6264
private final EmbeddingClient embeddingClient;
6365

6466
private final QdrantClient qdrantClient;

0 commit comments

Comments
 (0)