您可以使用 AWS SDK for Java v2 提供的 OpenSearch Java 客户端来插入我们的数据。首先,您需要将Maven依赖项添加到您的项目中:
software.amazon.awssdk
opensearch
2.17.54
然后,您可以使用以下代码示例来将数据插入OpenSearch中:
import software.amazon.awssdk.auth.credentials.*;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.opensearch.OpenSearchClient;
import software.amazon.awssdk.services.opensearch.model.*;
public class OpenSearchInsertExample {
public static void main(String[] args) {
// Set your OpenSearch cluster endpoint and region here
String endpoint = "https://your-opensearch-endpoint.com";
Region region = Region.YOUR_REGION;
// Configure the OpenSearch client with a basic AWS credentials provider
AwsCredentialsProvider credsProvider = DefaultCredentialsProvider.create();
OpenSearchClient client = OpenSearchClient.builder()
.endpointOverride(URI.create(endpoint))
.region(region)
.credentialsProvider(credsProvider)
.build();
// Prepare a batch of documents to index in OpenSearch
IndexDocumentsRequest.Builder indexRequestBuilder = IndexDocumentsRequest.builder();
indexRequestBuilder.indexName("my-index-name");
indexRequestBuilder.addDocuments("{'title': 'My Document', 'content': 'Some text content.', 'id': '123'}");
indexRequestBuilder.addDocuments("{'title': 'My Other Document', 'content': 'Some more text content.', 'id': '456'}");
// Use the OpenSearch client to submit the batch of documents for indexing
IndexDocumentsResponse indexResponse = client.indexDocuments(indexRequestBuilder.build());
// Check for errors
if (indexResponse.failedDocuments().isEmpty()) {
System.out.println("All documents indexed successfully.");
} else {
System.out.println("Errors occurred during indexing: ");
indexResponse.failedDocuments().forEach(failedDoc -> {
System.out.println(" * Document ID: " + failedDoc.id());
System.out.println(" Error message: " + failedDoc.errorMessage());
});
}
// Clean up the OpenSearch client resources when done
client.close();
}
}
这里的代码示例使用默认的 AWS 身份验证提供程序来构建 OpenSearchClient 实例。您也可以使用其他凭据提供程序 - 例如,AWS SDK for Java v2 还为 OpenSearch 提供了