gpt4 book ai didi

amazon-web-services - 如何清除 AWS CloudSearch 中的所有数据?

转载 作者:行者123 更新时间:2023-12-03 00:58:41 24 4
gpt4 key购买 nike

我有一个仍在开发的 AWS CloudSearch 实例。

有时,例如当我对字段的格式进行一些修改时,我发现自己想要删除所有数据并重新生成它。

有什么方法可以使用控制台清除所有数据,还是我必须通过编程方式来清除?

如果我确实必须使用编程方式(即生成并发布一堆“删除”SDF 文件),有什么好的方法可以查询 CloudSearch 实例中的所有文档吗?

我想我可以删除并重新创建实例,但这需要一段时间,并且会丢失所有索引/排名表达式/文本选项/等

最佳答案

使用awsjq从命令行(在 Mac 上使用 bash 进行测试):

export CS_DOMAIN=https://yoursearchdomain.yourregion.cloudsearch.amazonaws.com

# Get ids of all existing documents, reformat as
# [{ type: "delete", id: "ID" }, ...] using jq
aws cloudsearchdomain search \
--endpoint-url=$CS_DOMAIN \
--size=10000 \
--query-parser=structured \
--search-query="matchall" \
| jq '[.hits.hit[] | {type: "delete", id: .id}]' \
> delete-all.json

# Delete the documents
aws cloudsearchdomain upload-documents \
--endpoint-url=$CS_DOMAIN \
--content-type='application/json' \
--documents=delete-all.json

有关 jq 的更多信息,请参阅 Reshaping JSON with jq

2017 年 2 月 22 日更新

添加了 --size 以获取一次最大文档数 (10,000)。您可能需要多次重复此脚本。另外,如果您想有选择地删除文档,--search-query 可以采用更具体的内容。

关于amazon-web-services - 如何清除 AWS CloudSearch 中的所有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17557295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com