amazon cloudsearch — в каком порядке выполняются массовые операции?

я столкнулся с проблемой массовых операций, это заняло некоторое время, пока служба поддержки amazon не дала решение для этого, поэтому, если вы столкнулись с той же проблемой (возможно, вы даже не знали, что в ней есть проблема), так что это ответ .

Версия Amazon API: 2013-01-01

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

рассмотреть этот запрос:

[{"fields": {"first_name": "yosi2"}, "type": "add", "id": 561}, {"fields": {"first_name": "yosi"}, "type": "add", "id": 561}]

сценарий: 1. пользователь с идентификатором 561 обновляет свое имя до «yosi2» — одна операция добавления вставляется в массив 2. пользователь с идентификатором 561 обновляет свое имя до «yosi» — одна операция добавления вставляется в пакет 3. фиксирует запрос

результат был "yosi2" в индексе облачного поиска (хотя правильно "yosi" - это была последняя операция)

так что здесь происходит?

-- в старом API 2011-01-01 все записи в пакете имели «версию», поэтому обновления с одним и тем же идентификатором происходят, только если номер версии больше, чем существующий.


person Eyal Ch    schedule 10.05.2015    source источник


Ответы (1)


согласно амазонке:

«При выполнении операций над одним и тем же идентификатором выполняется только первая операция»

так что пока вам нужно решить этот вопрос самостоятельно ..

я решаю это как хранение хэша с массовыми идентификаторами, и если идентификатор уже находится внутри массы (в хэше), затем зафиксируйте массу и вставьте идентификатор в новую массу.

person Eyal Ch    schedule 10.05.2015