Class AbstractElasticsearchEmbeddingStore
java.lang.Object
dev.langchain4j.store.embedding.elasticsearch.AbstractElasticsearchEmbeddingStore
- All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
- Direct Known Subclasses:
ElasticsearchContentRetriever, ElasticsearchEmbeddingStore
public abstract class AbstractElasticsearchEmbeddingStore
extends Object
implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
Represents an Elasticsearch index as an embedding store.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected co.elastic.clients.elasticsearch.ElasticsearchClientprotected ElasticsearchConfigurationprotected String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd(dev.langchain4j.data.embedding.Embedding embedding) add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) voidvoidvoidaddAll(List<String> ids, List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded) addAllText(List<String> texts) List<dev.langchain4j.data.segment.TextSegment> fullTextSearch(String textQuery) dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> hybridSearch(dev.langchain4j.store.embedding.EmbeddingSearchRequest embeddingSearchRequest, String textQuery) protected voidinitialize(ElasticsearchConfiguration configuration, co.elastic.clients.elasticsearch.ElasticsearchClient client, String indexName) Initialize using an ElasticsearchClientprotected voidinitialize(ElasticsearchConfiguration configuration, org.elasticsearch.client.RestClient restClient, String indexName) Deprecated, for removal: This API element is subject to removal in a future version.voidThe Elasticsearch implementation will simply drop the index instead of removing all documents one by one.voidremoveAll(dev.langchain4j.store.embedding.filter.Filter filter) voidremoveAll(Collection<String> ids) dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest embeddingSearchRequest) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.langchain4j.store.embedding.EmbeddingStore
addAll, addListener, addListeners, generateIds, remove
-
Field Details
-
configuration
-
client
protected co.elastic.clients.elasticsearch.ElasticsearchClient client -
indexName
-
-
Constructor Details
-
AbstractElasticsearchEmbeddingStore
public AbstractElasticsearchEmbeddingStore()
-
-
Method Details
-
initialize
@Deprecated(forRemoval=true) protected void initialize(ElasticsearchConfiguration configuration, org.elasticsearch.client.RestClient restClient, String indexName) Deprecated, for removal: This API element is subject to removal in a future version.Initialize using a RestClient- Parameters:
configuration- Elasticsearch configuration to use (Knn, Script, FullText or Hybrid)restClient- Elasticsearch Rest Client (mandatory)indexName- Elasticsearch index name (optional). Default value: "default". Index will be created automatically if not exists.
-
initialize
protected void initialize(ElasticsearchConfiguration configuration, co.elastic.clients.elasticsearch.ElasticsearchClient client, String indexName) Initialize using an ElasticsearchClient- Parameters:
configuration- Elasticsearch configuration to use (Knn or Script)client- Elasticsearch Client (mandatory)indexName- Elasticsearch index name (optional). Default value: "default". Index will be created automatically if not exists.
-
add
- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
-
add
-
addAllText
-
add
public String add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) - Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
addAll
-
search
public dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest embeddingSearchRequest) - Specified by:
searchin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
hybridSearch
public dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> hybridSearch(dev.langchain4j.store.embedding.EmbeddingSearchRequest embeddingSearchRequest, String textQuery) -
fullTextSearch
-
removeAll
- Specified by:
removeAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
removeAll
public void removeAll(dev.langchain4j.store.embedding.filter.Filter filter) - Specified by:
removeAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
removeAll
public void removeAll()The Elasticsearch implementation will simply drop the index instead of removing all documents one by one.- Specified by:
removeAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
addAll
-
initialize(ElasticsearchConfiguration, ElasticsearchClient, String)