Удалить документ из 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.


person Ryan Fisch    schedule 22.07.2014    source источник


Ответы (2)


Я получаю ту же ошибку, что и вы, когда пытаюсь загрузить один документ, который не является частью пакета:

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

Но это удается, если это часть партии:

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

Я понимаю, что вы показываете массив json в приведенном выше примере, но его стоит перепроверить, поскольку вы получаете ту же ошибку, что и при попытке опубликовать один документ, который не является частью массива. Было бы легко совершить ошибку, поскольку их собственная документация по подготовке данных для отправки показывает частичный пример, когда удаление не является частью массива (см. раздел «Чтобы удалить документ из домена поиска»).

person alexroussos    schedule 24.07.2014
comment
просто хотел добавить, что амазонке теперь требуется поле «Версия», чтобы удаление работало. - person Lucas Holt; 10.12.2014

вы можете использовать простой xml-файл. (расширение файла должно быть .XML)

<batch>
    <delete id="4e41b5a6f3d94aa4891ab8f9abca94e6" />
</batch>
person Dens    schedule 08.07.2016