Удалить документ из AWS CloudSearch
Я пытаюсь удалить один документ в AWS CloudSearch, используя следующий пакетный документ:
[{
"type": "delete",
"id": "532177"
}]
но я получаю следующую ошибку от AWS:
и при загрузке 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 ответа
Я получаю ту же ошибку, что и вы, когда пытаюсь загрузить один документ, который не является частью пакета:
{
"type": "delete",
"id": "4e41b5a6f3d94aa4891ab8f9abca94e6"
}
Но это удастся, если это часть пакета:
[{
"type": "delete",
"id": "4e41b5a6f3d94aa4891ab8f9abca94e6"
}]
Я понимаю, что в приведенном выше примере вы показываете массив json, но его стоит перепроверить, поскольку вы получаете точно такую же ошибку, как и при публикации одного документа, который не является частью массива. Было бы легко ошибиться, поскольку в их собственной документации по подготовке данных к отправке приведен частичный пример, когда удаление не является частью массива (см. Раздел "Удаление документа из домена поиска").
Вы можете использовать простой XML-файл. (расширение файла должно.XML)
<batch>
<delete id="4e41b5a6f3d94aa4891ab8f9abca94e6" />
</batch>