30 lines
1.1 KiB
Java
30 lines
1.1 KiB
Java
package com.example.springaidemo.service;
|
|
|
|
import org.springframework.ai.document.Document;
|
|
import org.springframework.ai.vectorstore.SearchRequest;
|
|
import org.springframework.ai.vectorstore.VectorStore;
|
|
import org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class VectorService {
|
|
|
|
@Autowired VectorStore vectorStore;
|
|
|
|
public void storeVector(){
|
|
List<Document> documents = List.of(
|
|
new Document("Spring AI rocks!! Spring AI rocks!! Spring AI rocks!! Spring AI rocks!! Spring AI rocks!!"),
|
|
new Document("The World is Big and Salvation Lurks Around the Corner"),
|
|
new Document("You walk forward facing the past and you turn back toward the future."));
|
|
|
|
// Add the documents to Elasticsearch
|
|
vectorStore.add(documents);
|
|
|
|
// Retrieve documents similar to a query
|
|
List<Document> results = this.vectorStore.similaritySearch(SearchRequest.builder().query("Spring").topK(5).build());
|
|
}
|
|
}
|