Удалить документ из 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>
Другие вопросы по тегам