Skip to content

Commit db32740

Browse files
committed
dependency version, docs
1 parent 5acdfec commit db32740

File tree

6 files changed

+23
-11
lines changed

6 files changed

+23
-11
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
<pgvector.version>0.1.4</pgvector.version>
158158
<sap.hanadb.version>2.20.11</sap.hanadb.version>
159159
<postgresql.version>42.7.2</postgresql.version>
160+
<elasticsearch-java.version>8.13.3</elasticsearch-java.version>
160161
<milvus.version>2.3.4</milvus.version>
161162
<pinecone.version>0.8.0</pinecone.version>
162163
<fastjson.version>2.0.46</fastjson.version>

spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs/elasticsearch.adoc

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,18 @@ Properties starting with the `spring.ai.vectorstore.elasticsearch.*` prefix are
134134

135135
|`spring.ai.vectorstore.elasticsearch.index-name` | The name of the index to store the vectors. | spring-ai-document-index
136136
|`spring.ai.vectorstore.elasticsearch.dimensions` | The number of dimensions in the vector. | 1536
137-
|`spring.ai.vectorstore.elasticsearch.dense-vector-indexing` | Whether to use dense vector indexing. | true
138137
|`spring.ai.vectorstore.elasticsearch.similarity` | The similarity function to use. | `cosine`
139138
|`spring.ai.vectorstore.elasticsearch.initialize-schema`| whether to initialize the required schema | `false`
140139
|===
141140

141+
The following similarity functions are available:
142+
143+
* cosine
144+
* l2_norm
145+
* dot_product
146+
147+
More details about each in the https://www.elastic.co/guide/en/elasticsearch/reference/master/dense-vector.html#dense-vector-params[Elasticsearch Documentation] on dense vectors.
148+
142149
== Metadata Filtering
143150

144151
You can leverage the generic, portable xref:api/vectordbs.adoc#metadata-filters[metadata filters] with Elasticsearch as well.
@@ -214,10 +221,11 @@ Read the link:https://www.elastic.co/guide/en/elasticsearch/client/java-api-clie
214221
----
215222
@Bean
216223
public RestClient restClient() {
217-
RestClientBuilder builder = RestClient.builder(new HttpHost("<host>", 9200, "http"));
218-
Header[] defaultHeaders = new Header[] { new BasicHeader("Authorization", "Basic <encoded username and password>") };
219-
builder.setDefaultHeaders(defaultHeaders);
220-
return builder.build();
224+
RestClient.builder(new HttpHost("<host>", 9200, "http"))
225+
.setDefaultHeaders(new Header[]{
226+
new BasicHeader("Authorization", "Basic <encoded username and password>")
227+
})
228+
.build();
221229
}
222230
----
223231

spring-ai-spring-boot-autoconfigure/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@
260260
<optional>true</optional>
261261
</dependency>
262262

263+
<!-- Elasticsearch Vector Store-->
263264
<dependency>
264265
<groupId>org.springframework.ai</groupId>
265266
<artifactId>spring-ai-elasticsearch-store</artifactId>
@@ -281,6 +282,12 @@
281282
<optional>true</optional>
282283
</dependency>
283284

285+
<dependency>
286+
<groupId>co.elastic.clients</groupId>
287+
<artifactId>elasticsearch-java</artifactId>
288+
<version>${elasticsearch-java.version}</version>
289+
</dependency>
290+
284291
<!-- test dependencies -->
285292

286293
<dependency>

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreAutoConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
import org.springframework.context.annotation.Bean;
2929
import org.springframework.util.StringUtils;
3030

31-
import java.util.Objects;
32-
3331
/**
3432
* @author Eddú Meléndez
3533
* @author Wei Jiang

vector-stores/spring-ai-elasticsearch-store/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<dependency>
3636
<groupId>co.elastic.clients</groupId>
3737
<artifactId>elasticsearch-java</artifactId>
38-
<version>8.13.2</version>
38+
<version>${elasticsearch-java.version}</version>
3939
</dependency>
4040

4141
<!-- TESTING -->

vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/ElasticsearchVectorStore.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
package org.springframework.ai.vectorstore;
1717

1818
import co.elastic.clients.elasticsearch.ElasticsearchClient;
19-
import co.elastic.clients.elasticsearch._types.mapping.DenseVectorProperty;
20-
import co.elastic.clients.elasticsearch._types.mapping.Property;
2119
import co.elastic.clients.elasticsearch.core.BulkRequest;
2220
import co.elastic.clients.elasticsearch.core.BulkResponse;
2321
import co.elastic.clients.elasticsearch.core.SearchResponse;
@@ -145,7 +143,7 @@ public List<Document> similaritySearch(SearchRequest searchRequest) {
145143
sr -> sr.index(options.getIndexName())
146144
.knn(knn -> knn.queryVector(vectors)
147145
.similarity(finalThreshold)
148-
.k(searchRequest.getTopK())
146+
.k((long) searchRequest.getTopK())
149147
.field("embedding")
150148
.numCandidates((long) (1.5 * searchRequest.getTopK()))
151149
.filter(fl -> fl.queryString(

0 commit comments

Comments
 (0)