人工智能

Amazon Elasticsearch Service

Amazon Elasticsearch配置服务提供创建、配置和管理Elasticsearch域的API。用户可以通过该API设置和管理搜索集群,适用于构建搜索和分析应用。

查看官方文档 ↗

接入教程

1. 注册AWS账户并获取访问密钥
2. 安装AWS SDK并配置凭证
3. 调用CreateDomain API创建Elasticsearch域
4. 配置索引映射和搜索设置
5. 使用API进行文档索引和查询
6. 监控域状态和性能指标

使用Python创建Elasticsearch域

python
import boto3
from botocore.config import Config

# 配置客户端
config = Config(region_name='us-east-1')
client = boto3.client('es', config=config, aws_access_key_id='YOUR_API_KEY', aws_secret_access_key='YOUR_SECRET_KEY')

# 创建域请求
response = client.create_elasticsearch_domain(
    DomainName='my-search-domain',
    ElasticsearchVersion='7.10',
    ElasticsearchClusterConfig={
        'InstanceType': 't3.small.elasticsearch',
        'InstanceCount': 1,
        'DedicatedMasterEnabled': False,
        'ZoneAwarenessEnabled': False
    },
    EBSOptions={
        'EBSEnabled': True,
        'VolumeType': 'gp2',
        'VolumeSize': 10
    }
)

print(f"Domain ARN: {response['DomainStatus']['ARN']}")

使用PHP查询域信息

php
<?php
require 'vendor/autoload.php';

use Aws\ElasticsearchService\ElasticsearchServiceClient;
use Aws\Exception\AwsException;

// 创建客户端
$client = new ElasticsearchServiceClient([
    'region' => 'us-west-2',
    'version' => 'latest',
    'credentials' => [
        'key' => 'YOUR_API_KEY',
        'secret' => 'YOUR_SECRET_KEY'
    ]
]);

try {
    $result = $client->describeElasticsearchDomain([
        'DomainName' => 'my-search-domain'
    ]);
    
    echo "Domain Status: " . $result['DomainStatus']['Created'] . "\n";
    echo "Endpoint: " . $result['DomainStatus']['Endpoint'] . "\n";
} catch (AwsException $e) {
    echo "Error: " . $e->getMessage() . "\n";
}
?>

使用JavaScript更新域配置

javascript
const AWS = require('aws-sdk');

// 配置AWS
AWS.config.update({
  region: 'eu-west-1',
  accessKeyId: 'YOUR_API_KEY',
  secretAccessKey: 'YOUR_SECRET_KEY'
});

const es = new AWS.ES();

// 更新域配置
const params = {
  DomainName: 'my-search-domain',
  ElasticsearchClusterConfig: {
    InstanceType: 't3.medium.elasticsearch',
    InstanceCount: 2,
    DedicatedMasterEnabled: false,
    ZoneAwarenessEnabled: true
  }
};

es.updateElasticsearchDomainConfig(params, function(err, data) {
  if (err) {
    console.log("Error:", err);
  } else {
    console.log("Update initiated:", data.DomainConfig.ElasticsearchClusterConfig.Status);
  }
});

常见问题

如何获取API访问密钥?

访问AWS管理控制台,进入IAM服务创建访问密钥。密钥由Access Key ID和Secret Access Key组成,需妥善保管。

创建域后多久可以使用?

域创建通常需要10-30分钟。创建完成后会提供终端节点,可通过该端点访问Elasticsearch集群。

支持哪些Elasticsearch版本?

支持OpenSearch和Elasticsearch 7.x系列版本。具体可用版本请查阅AWS官方文档的最新版本说明。

相似接口推荐

AWS Global Accelerator

AWS Global Accelerator是一项网络服务,通过优化全球路由和提供静态IP地址,提升应用程序的可用性和性能。它能够将用户流量智能地导向最近的AWS区域端点,减少延迟并提高响应速度。

待确认
亚马逊欺诈检测器

亚马逊欺诈检测器API为开发者提供检测欺诈行为的接口,包含详细的操作指南、数据类型和错误信息。该服务帮助用户通过机器学习模型识别可疑交易和活动。

待确认
防火墙管理服务

该API为开发者提供防火墙管理功能的详细接口文档,包含操作、数据类型和错误代码的完整参考。如需了解防火墙管理服务的具体功能特性,请参阅AWS官方技术文档。

待确认
Amazon EMR Containers

Amazon EMR on EKS是一种部署选项,让您能够在Amazon Elastic Kubernetes Service(Amazon EKS)上运行开源大数据框架。通过此选项,您可以专注于运行分析工作负载,而由A

待确认