From 5a3521330fae18f48a3c2685d120eddf8db1d0c2 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Wed, 11 Sep 2024 17:40:53 +0200 Subject: [PATCH] adding version to header, fix --- .../ai/vectorstore/ElasticsearchVectorStore.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/ElasticsearchVectorStore.java b/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/ElasticsearchVectorStore.java index 40c6fb8c0..bf9932b37 100644 --- a/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/ElasticsearchVectorStore.java +++ b/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/ElasticsearchVectorStore.java @@ -24,6 +24,7 @@ import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; +import co.elastic.clients.transport.Version; import org.elasticsearch.client.RestClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -109,9 +110,11 @@ public class ElasticsearchVectorStore extends AbstractObservationVectorStore imp this.initializeSchema = initializeSchema; Objects.requireNonNull(embeddingModel, "RestClient must not be null"); Objects.requireNonNull(embeddingModel, "EmbeddingModel must not be null"); - this.elasticsearchClient = new ElasticsearchClient(new RestClientTransport(restClient, new JacksonJsonpMapper( - new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)))); - elasticsearchClient.withTransportOptions(t -> t.addHeader("user-agent", "spring-ai")); + String version = Version.VERSION == null ? "Unknown" : Version.VERSION.toString(); + this.elasticsearchClient = new ElasticsearchClient(new RestClientTransport(restClient, + new JacksonJsonpMapper( + new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)))) + .withTransportOptions(t -> t.addHeader("user-agent", "spring-ai elastic-java/" + version)); this.embeddingModel = embeddingModel; this.options = options; this.filterExpressionConverter = new ElasticsearchAiSearchFilterExpressionConverter();