public class dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore extends java.lang.Object implements dev.langchain4j.store.embedding.EmbeddingStore
{
private static final org.slf4j.Logger log;
private final java.lang.String indexName;
private final org.opensearch.client.opensearch.OpenSearchClient client;
public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
{
java.net.URISyntaxException v;
java.lang.String v, v, v, v, v, v;
org.opensearch.client.transport.httpclient.ApacheHttpClient5Transport v;
org.opensearch.client.json.jackson.JacksonJsonpMapper v;
org.apache.hc.core.http.HttpHost[] v;
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
org.slf4j.Logger v;
org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder v, v, v;
org.opensearch.client.opensearch.OpenSearchClient v;
dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException v;
org.apache.hc.core.http.HttpHost v;
org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder$HttpClientConfigCallback v;
java.lang.Object v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
label:
v = staticinvoke <org.apache.hc.core.http.HttpHost: org.apache.hc.core.http.HttpHost create(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("[I/O OpenSearch Exception]", v);
v = new dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException;
v = virtualinvoke v.<java.net.URISyntaxException: java.lang.String getMessage()>();
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (org.apache.hc.core.http.HttpHost)[1];
v[0] = v;
v = staticinvoke <org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder: org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder builder(org.apache.hc.core.http.HttpHost[])>(v);
v = new org.opensearch.client.json.jackson.JacksonJsonpMapper;
specialinvoke v.<org.opensearch.client.json.jackson.JacksonJsonpMapper: void <init>()>();
v = virtualinvoke v.<org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder: org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder setMapper(org.opensearch.client.json.JsonpMapper)>(v);
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_new_0__1: org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder$HttpClientConfigCallback bootstrap$(java.lang.String,java.lang.String,java.lang.String,org.apache.hc.core.http.HttpHost)>(v, v, v, v);
v = virtualinvoke v.<org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder: org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder setHttpClientConfigCallback(org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder$HttpClientConfigCallback)>(v);
v = virtualinvoke v.<org.opensearch.client.transport.httpclient.ApacheHttpClient5TransportBuilder: org.opensearch.client.transport.httpclient.ApacheHttpClient5Transport build()>();
v = new org.opensearch.client.opensearch.OpenSearchClient;
specialinvoke v.<org.opensearch.client.opensearch.OpenSearchClient: void <init>(org.opensearch.client.transport.OpenSearchTransport)>(v);
v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client> = v;
v = staticinvoke <dev.langchain4j.internal.ValidationUtils: java.lang.Object ensureNotNull(java.lang.Object,java.lang.String)>(v, "indexName");
v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: java.lang.String indexName> = v;
return;
catch java.net.URISyntaxException from label to label with label;
}
public void <init>(java.lang.String, java.lang.String, java.lang.String, org.opensearch.client.transport.aws.AwsSdk2TransportOptions, java.lang.String)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
org.opensearch.client.opensearch.OpenSearchClient v;
software.amazon.awssdk.http.SdkHttpClient v;
org.opensearch.client.transport.aws.AwsSdk2TransportOptions v;
java.lang.Object v;
java.lang.String v, v, v, v;
org.opensearch.client.transport.aws.AwsSdk2Transport v;
software.amazon.awssdk.regions.Region v;
software.amazon.awssdk.http.apache.ApacheHttpClient$Builder v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.opensearch.client.transport.aws.AwsSdk2TransportOptions;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <software.amazon.awssdk.regions.Region: software.amazon.awssdk.regions.Region of(java.lang.String)>(v);
v = staticinvoke <software.amazon.awssdk.http.apache.ApacheHttpClient: software.amazon.awssdk.http.apache.ApacheHttpClient$Builder builder()>();
v = interfaceinvoke v.<software.amazon.awssdk.http.apache.ApacheHttpClient$Builder: software.amazon.awssdk.http.SdkHttpClient build()>();
v = new org.opensearch.client.transport.aws.AwsSdk2Transport;
specialinvoke v.<org.opensearch.client.transport.aws.AwsSdk2Transport: void <init>(software.amazon.awssdk.http.SdkHttpClient,java.lang.String,java.lang.String,software.amazon.awssdk.regions.Region,org.opensearch.client.transport.aws.AwsSdk2TransportOptions)>(v, v, v, v, v);
v = new org.opensearch.client.opensearch.OpenSearchClient;
specialinvoke v.<org.opensearch.client.opensearch.OpenSearchClient: void <init>(org.opensearch.client.transport.OpenSearchTransport)>(v);
v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client> = v;
v = staticinvoke <dev.langchain4j.internal.ValidationUtils: java.lang.Object ensureNotNull(java.lang.Object,java.lang.String)>(v, "indexName");
v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: java.lang.String indexName> = v;
return;
}
public void <init>(org.opensearch.client.opensearch.OpenSearchClient, java.lang.String)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.lang.Object v, v;
org.opensearch.client.opensearch.OpenSearchClient v;
java.lang.String v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: org.opensearch.client.opensearch.OpenSearchClient;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <dev.langchain4j.internal.ValidationUtils: java.lang.Object ensureNotNull(java.lang.Object,java.lang.String)>(v, "openSearchClient");
v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client> = v;
v = staticinvoke <dev.langchain4j.internal.ValidationUtils: java.lang.Object ensureNotNull(java.lang.Object,java.lang.String)>(v, "indexName");
v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: java.lang.String indexName> = v;
return;
}
public static dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$Builder builder()
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$Builder v;
v = new dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$Builder;
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$Builder: void <init>()>();
return v;
}
public java.lang.String add(dev.langchain4j.data.embedding.Embedding)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.lang.String v;
dev.langchain4j.data.embedding.Embedding v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: dev.langchain4j.data.embedding.Embedding;
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.String randomUUID()>();
virtualinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void add(java.lang.String,dev.langchain4j.data.embedding.Embedding)>(v, v);
return v;
}
public void add(java.lang.String, dev.langchain4j.data.embedding.Embedding)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.lang.String v;
dev.langchain4j.data.embedding.Embedding v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.lang.String;
v := @parameter: dev.langchain4j.data.embedding.Embedding;
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void addInternal(java.lang.String,dev.langchain4j.data.embedding.Embedding,dev.langchain4j.data.segment.TextSegment)>(v, v, null);
return;
}
public java.lang.String add(dev.langchain4j.data.embedding.Embedding, dev.langchain4j.data.segment.TextSegment)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
dev.langchain4j.data.embedding.Embedding v;
java.lang.String v;
dev.langchain4j.data.segment.TextSegment v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: dev.langchain4j.data.embedding.Embedding;
v := @parameter: dev.langchain4j.data.segment.TextSegment;
v = staticinvoke <dev.langchain4j.internal.Utils: java.lang.String randomUUID()>();
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void addInternal(java.lang.String,dev.langchain4j.data.embedding.Embedding,dev.langchain4j.data.segment.TextSegment)>(v, v, v);
return v;
}
public java.util.List addAll(java.util.List)
{
java.util.List v;
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
java.util.function.Function v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_addAll_1__2: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void addAllInternal(java.util.List,java.util.List,java.util.List)>(v, v, null);
return v;
}
public java.util.List addAll(java.util.List, java.util.List)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.util.function.Function v;
java.util.List v, v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_addAll_2__3: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void addAllInternal(java.util.List,java.util.List,java.util.List)>(v, v, v);
return v;
}
public java.util.List findRelevant(dev.langchain4j.data.embedding.Embedding, int, double)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
org.slf4j.Logger v;
dev.langchain4j.data.embedding.Embedding v;
org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery v;
float[] v;
java.io.IOException v;
org.opensearch.client.opensearch.OpenSearchClient v;
java.util.function.Function v;
org.opensearch.client.opensearch.core.SearchResponse v;
dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException v;
java.util.List v;
org.opensearch.client.opensearch.core.SearchRequest v;
int v;
java.lang.String v;
double v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: dev.langchain4j.data.embedding.Embedding;
v := @parameter: int;
v := @parameter: double;
label:
v = virtualinvoke v.<dev.langchain4j.data.embedding.Embedding: float[] vector()>();
v = specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery buildDefaultScriptScoreQuery(float[],float)>(v, v);
v = v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client>;
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_findRelevant_4__4: java.util.function.Function bootstrap$(dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore,org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery,int)>(v, v, v);
v = staticinvoke <org.opensearch.client.opensearch.core.SearchRequest: org.opensearch.client.opensearch.core.SearchRequest of(java.util.function.Function)>(v);
v = virtualinvoke v.<org.opensearch.client.opensearch.OpenSearchClient: org.opensearch.client.opensearch.core.SearchResponse search(org.opensearch.client.opensearch.core.SearchRequest,java.lang.Class)>(v, class "Ldev/langchain4j/store/embedding/opensearch/Document;");
v = specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: java.util.List toEmbeddingMatch(org.opensearch.client.opensearch.core.SearchResponse)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("[I/O OpenSearch Exception]", v);
v = new dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
catch java.io.IOException from label to label with label;
}
private org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery buildDefaultScriptScoreQuery(float[], float) throws com.fasterxml.jackson.core.JsonProcessingException
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
float v;
org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery v;
float[] v;
java.util.function.Function v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: float[];
v := @parameter: float;
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_buildDefaultScriptScoreQuery_9__5: java.util.function.Function bootstrap$(float,float[])>(v, v);
v = staticinvoke <org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery: org.opensearch.client.opensearch._types.query_dsl.ScriptScoreQuery of(java.util.function.Function)>(v);
return v;
}
private void addInternal(java.lang.String, dev.langchain4j.data.embedding.Embedding, dev.langchain4j.data.segment.TextSegment)
{
java.util.List v, v, v;
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
dev.langchain4j.data.embedding.Embedding v;
java.lang.String v;
dev.langchain4j.data.segment.TextSegment v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.lang.String;
v := @parameter: dev.langchain4j.data.embedding.Embedding;
v := @parameter: dev.langchain4j.data.segment.TextSegment;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
label:
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void addAllInternal(java.util.List,java.util.List,java.util.List)>(v, v, v);
return;
}
private void addAllInternal(java.util.List, java.util.List, java.util.List)
{
int v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v;
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
org.slf4j.Logger v, v;
java.io.IOException v;
dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException v;
java.util.List v, v, v;
java.lang.Object v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = staticinvoke <dev.langchain4j.internal.Utils: boolean isNullOrEmpty(java.util.Collection)>(v);
if v != 0 goto label;
v = staticinvoke <dev.langchain4j.internal.Utils: boolean isNullOrEmpty(java.util.Collection)>(v);
if v == 0 goto label;
label:
v = <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("[do not add empty embeddings to opensearch]");
return;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <dev.langchain4j.internal.ValidationUtils: void ensureTrue(boolean,java.lang.String)>(v, "ids size is not equal to embeddings size");
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <dev.langchain4j.internal.ValidationUtils: void ensureTrue(boolean,java.lang.String)>(v, "embeddings size is not equal to embedded size");
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<dev.langchain4j.data.embedding.Embedding: int dimension()>();
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void createIndexIfNotExist(int)>(v);
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: void bulk(java.util.List,java.util.List,java.util.List)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("[I/O OpenSearch Exception]", v);
v = new dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
}
private void createIndexIfNotExist(int) throws java.io.IOException
{
org.opensearch.client.transport.endpoints.BooleanResponse v;
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
org.opensearch.client.opensearch.OpenSearchClient v, v;
java.util.function.Function v, v;
org.opensearch.client.opensearch.indices.OpenSearchIndicesClient v, v;
int v;
boolean v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: int;
v = v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client>;
v = virtualinvoke v.<org.opensearch.client.opensearch.OpenSearchClient: org.opensearch.client.opensearch.indices.OpenSearchIndicesClient indices()>();
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_createIndexIfNotExist_10__6: java.util.function.Function bootstrap$(dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore)>(v);
v = virtualinvoke v.<org.opensearch.client.opensearch.indices.OpenSearchIndicesClient: org.opensearch.client.transport.endpoints.BooleanResponse exists(java.util.function.Function)>(v);
v = virtualinvoke v.<org.opensearch.client.transport.endpoints.BooleanResponse: boolean value()>();
if v != 0 goto label;
v = v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client>;
v = virtualinvoke v.<org.opensearch.client.opensearch.OpenSearchClient: org.opensearch.client.opensearch.indices.OpenSearchIndicesClient indices()>();
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_createIndexIfNotExist_12__7: java.util.function.Function bootstrap$(dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore,int)>(v, v);
virtualinvoke v.<org.opensearch.client.opensearch.indices.OpenSearchIndicesClient: org.opensearch.client.opensearch.indices.CreateIndexResponse create(java.util.function.Function)>(v);
label:
return;
}
private org.opensearch.client.opensearch._types.mapping.TypeMapping getDefaultMappings(int)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.util.HashMap v;
java.util.function.Function v, v, v;
org.opensearch.client.opensearch._types.mapping.TypeMapping v;
org.opensearch.client.opensearch._types.mapping.Property v, v;
int v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: int;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(4);
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_getDefaultMappings_14__8: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.opensearch.client.opensearch._types.mapping.Property: org.opensearch.client.opensearch._types.mapping.Property of(java.util.function.Function)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("text", v);
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_getDefaultMappings_16__9: java.util.function.Function bootstrap$(int)>(v);
v = staticinvoke <org.opensearch.client.opensearch._types.mapping.Property: org.opensearch.client.opensearch._types.mapping.Property of(java.util.function.Function)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("vector", v);
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_getDefaultMappings_17__10: java.util.function.Function bootstrap$(java.util.Map)>(v);
v = staticinvoke <org.opensearch.client.opensearch._types.mapping.TypeMapping: org.opensearch.client.opensearch._types.mapping.TypeMapping of(java.util.function.Function)>(v);
return v;
}
private void bulk(java.util.List, java.util.List, java.util.List) throws java.io.IOException
{
org.opensearch.client.opensearch.core.BulkRequest$Builder v;
org.opensearch.client.opensearch.core.BulkRequest v;
dev.langchain4j.data.document.Metadata v;
boolean v, v;
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException v;
java.util.List v, v, v, v;
dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder v, v, v, v;
java.util.Optional v, v;
float[] v;
java.util.function.Function v, v;
int v, v, v;
java.lang.String v, v, v, v;
org.opensearch.client.opensearch._types.ErrorCause v, v;
java.util.Iterator v;
org.opensearch.client.opensearch.OpenSearchClient v;
org.opensearch.client.opensearch.core.BulkResponse v;
java.lang.Object v, v, v, v, v;
dev.langchain4j.store.embedding.opensearch.Document v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: int size()>();
v = new org.opensearch.client.opensearch.core.BulkRequest$Builder;
specialinvoke v.<org.opensearch.client.opensearch.core.BulkRequest$Builder: void <init>()>();
v = 0;
label:
if v >= v goto label;
v = v;
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.Document: dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder builder()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<dev.langchain4j.data.embedding.Embedding: float[] vector()>();
v = virtualinvoke v.<dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder: dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder vector(float[])>(v);
if v != null goto label;
v = null;
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<dev.langchain4j.data.segment.TextSegment: java.lang.String text()>();
label:
v = virtualinvoke v.<dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder: dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder text(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<dev.langchain4j.data.segment.TextSegment: dev.langchain4j.data.document.Metadata metadata()>();
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$asMap__11: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
label:
v = virtualinvoke v.<dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder: dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder metadata(java.util.Map)>(v);
v = virtualinvoke v.<dev.langchain4j.store.embedding.opensearch.Document$DocumentBuilder: dev.langchain4j.store.embedding.opensearch.Document build()>();
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_bulk_19__12: java.util.function.Function bootstrap$(dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore,java.util.List,int,dev.langchain4j.store.embedding.opensearch.Document)>(v, v, v, v);
virtualinvoke v.<org.opensearch.client.opensearch.core.BulkRequest$Builder: org.opensearch.client.opensearch.core.BulkRequest$Builder operations(java.util.function.Function)>(v);
v = v + 1;
goto label;
label:
v = v.<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.opensearch.client.opensearch.OpenSearchClient client>;
v = virtualinvoke v.<org.opensearch.client.opensearch.core.BulkRequest$Builder: org.opensearch.client.opensearch.core.BulkRequest build()>();
v = virtualinvoke v.<org.opensearch.client.opensearch.OpenSearchClient: org.opensearch.client.opensearch.core.BulkResponse bulk(org.opensearch.client.opensearch.core.BulkRequest)>(v);
v = virtualinvoke v.<org.opensearch.client.opensearch.core.BulkResponse: boolean errors()>();
if v == 0 goto label;
v = virtualinvoke v.<org.opensearch.client.opensearch.core.BulkResponse: java.util.List items()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.opensearch.client.opensearch.core.bulk.BulkResponseItem: org.opensearch.client.opensearch._types.ErrorCause error()>();
if v == null goto label;
v = virtualinvoke v.<org.opensearch.client.opensearch.core.bulk.BulkResponseItem: org.opensearch.client.opensearch._types.ErrorCause error()>();
if v == null goto label;
v = new dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException;
v = virtualinvoke v.<org.opensearch.client.opensearch._types.ErrorCause: java.lang.String type()>();
v = virtualinvoke v.<org.opensearch.client.opensearch._types.ErrorCause: java.lang.String reason()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("type: \u,reason: \u0001");
specialinvoke v.<dev.langchain4j.store.embedding.opensearch.OpenSearchRequestFailedException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private java.util.List toEmbeddingMatch(org.opensearch.client.opensearch.core.SearchResponse)
{
dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore v;
java.util.function.Function v;
org.opensearch.client.opensearch.core.SearchResponse v;
java.util.List v;
java.util.stream.Stream v, v;
java.lang.Object v;
org.opensearch.client.opensearch.core.search.HitsMetadata v;
java.util.stream.Collector v;
v := @this: dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore;
v := @parameter: org.opensearch.client.opensearch.core.SearchResponse;
v = virtualinvoke v.<org.opensearch.client.opensearch.core.SearchResponse: org.opensearch.client.opensearch.core.search.HitsMetadata hits()>();
v = virtualinvoke v.<org.opensearch.client.opensearch.core.search.HitsMetadata: java.util.List hits()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore$lambda_toEmbeddingMatch_21__13: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Ldev/langchain4j/store/embedding/opensearch/OpenSearchEmbeddingStore;");
<dev.langchain4j.store.embedding.opensearch.OpenSearchEmbeddingStore: org.slf4j.Logger log> = v;
return;
}
}