从AWS CloudSearch删除文档

时间:2014-07-22 23:37:03

标签: amazon-web-services amazon-ec2 amazon-s3 amazon-cloudsearch

我正在尝试使用以下批处理文档删除AWS CloudSearch中的单个文档:

[{
    "type": "delete",
    "id": "532177"
}]

但是我从AWS收到以下错误: enter image description here

当下载SDF时,它会返回以下内容:

[
{
type: "add",
id: "delete_img_json",
version: 1406072053,
lang: "en",
fields: {
content: "[{ "type": "delete", "id": "532177" }]",
resourcename: "Delete_IMG.json",
content_encoding: "ISO-8859-2",
content_type: "application/json"
}
}
]

我尝试做的只是从我的CloudSearch索引中删除单个文档。

2 个答案:

答案 0 :(得分:10)

当我尝试上传不属于批处理的单个文档时,我收到的错误与您相同:

{
    "type": "delete",
    "id": "4e41b5a6f3d94aa4891ab8f9abca94e6"
}

但如果它是批次的一部分,它会成功:

[{
    "type": "delete",
    "id": "4e41b5a6f3d94aa4891ab8f9abca94e6"
}]

我意识到你在上面的例子中显示了一个json数组,但值得仔细检查,因为你在尝试发布一个不属于数组的单个文档时会得到完全相同的错误。这是一个容易犯的错误,因为他们自己在preparing data for submission上的文档显示了一个部分示例,其中删除不是数组的一部分(请参阅“从搜索域中删除文档”部分)。

答案 1 :(得分:2)

您可以使用简单的xml文件。 (文件扩展名应为.XML)

INSERT INTO  History_workorders SELECT * FROM workorders WHERE validity_work_order < sysdate

Delete from workorders where work_order_no in(select work_order_no  from History_workorders);