接入教程
1. 创建CloudSearch域并获取访问端点
2. 配置索引字段和搜索选项
3. 使用UploadDocuments端点上传文档
4. 通过Search端点执行搜索查询
5. 可选:使用Suggest端点获取搜索建议
6. 监控搜索性能和优化结果相关性
使用Python上传文档到CloudSearch域
import requests
# 设置参数
domain_endpoint = 'https://doc-example-domain-1234567890.us-east-1.cloudsearch.amazonaws.com'
api_key = 'YOUR_API_KEY'
url = f'{domain_endpoint}/2013-01-01/documents/batch'
# 文档数据
documents = [
{
"type": "add",
"id": "document1",
"fields": {
"title": "示例文档标题",
"content": "这是文档内容的示例。"
}
}
]
# 发送请求
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
response = requests.post(url, json=documents, headers=headers)
print('状态码:', response.status_code)
print('响应:', response.json())
使用PHP搜索CloudSearch域中的文档
<?php
// 设置参数
$domainEndpoint = 'https://search-example-domain-0987654321.us-west-2.cloudsearch.amazonaws.com';
$apiKey = 'YOUR_API_KEY';
$url = $domainEndpoint . '/2013-01-01/search';
// 搜索查询参数
$queryParams = [
'q' => '示例搜索词',
'size' => 10
];
$queryString = http_build_query($queryParams);
$fullUrl = $url . '?' . $queryString;
// 初始化cURL
$ch = curl_init($fullUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey
]);
// 执行请求
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// 输出结果
echo '状态码: ' . $httpCode . "\n";
echo '响应: ' . $response . "\n";
?>
使用JavaScript从CloudSearch域获取建议
// 设置参数
const domainEndpoint = 'https://suggest-example-domain-abcdef123456.ap-southeast-1.cloudsearch.amazonaws.com';
const apiKey = 'YOUR_API_KEY';
const url = `${domainEndpoint}/2013-01-01/suggest`;
// 建议查询参数
const params = new URLSearchParams({
q: '示例',
suggester: 'mySuggester',
size: 5
});
const fullUrl = `${url}?${params.toString()}`;
// 发送请求
fetch(fullUrl, {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`
}
})
.then(response => {
console.log('状态码:', response.status);
return response.json();
})
.then(data => {
console.log('响应:', data);
})
.catch(error => {
console.error('错误:', error);
});
常见问题
如何获取CloudSearch域的端点?
您需要使用Amazon CloudSearch配置API或AWS管理控制台来获取特定域的端点。每个域的端点是唯一的,用于上传文档、搜索和建议请求。
CloudSearch Domain API支持哪些类型的请求?
该API主要支持三种请求:UploadDocuments用于批量上传文档,Search用于执行搜索查询,Suggest用于获取自动完成建议。
是否需要API密钥来使用CloudSearch Domain API?
是的,通常需要使用AWS身份验证(如IAM角色或访问密钥)来授权请求。在示例中,我们使用占位符YOUR_API_KEY代表您的凭证。
Aitishiku.com