Как искать значение, которое часто меняется с Cloudsearch?

Я новичок в Cloudsearch и мой вопрос может быть неясным, поэтому я попытаюсь объяснить мою проблему.

У нас есть бэк-офис, где многие люди проводят исследования, и время от времени наша база данных является KO из-за какого-то запроса, выполнение которого занимает более 30 с, поэтому мы решили использовать Cloudsearch потому что мы уже используем некоторые другие Amazon web service,

Итак, я создал поисковый домен, я создал индекс в соответствии со значением, которое мы ищем в нашей текущей базе данных, и я проиндексировал все наши событие (результат поиска людей) согласно нашей тестовой базе данных (~ 42 000 строк).

Моя проблема в том, что каждый событие иметь несколько средства массовой информации (.jpg, .gif и .mp4) в нашей базе данных (и мы мигрируем с v3 на v4, поэтому есть две базы данных мультимедиа, и нам нужно знать версию события, чтобы знать, где мы должны искать: старую или новую базу данных) итак мой вопрос Могу ли я вернуть некоторую информацию о мультимедиа с помощью Cloudsearch или мне все еще нужно будет использовать запрос mysql?

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

Что я думаю, может сработать:

  • Я могу добавить два поля в свой индекс событий (номер носителя + URL последнего носителя) и создать пакетный файл для добавления / обновления данных события КАЖДЫЙ раз, когда мы добавляем новый носитель в базу данных: проблема в том, что мы можем отправить 1 пакет каждые 10 с и максимум 10 000 партий / день, поэтому, если у нас будет 50 событий, которые проводятся одновременно, это может стать большой проблемой …
  • Та же идея, что и раньше, но мы используем CRON для создания пакетного файла со всеми последними данными, например, каждый час: проблема в том, что исследование не будет правильным до пакета … и максимальный размер пакета составляет 5 МБ, поэтому он может все будет хорошо, но если у нас будет много новых данных для добавления, это может быть маленькой проблемой.
  • В настоящее время идея состоит в том, чтобы выполнить запрос mysql, используя каждый идентификатор события, который мы получаем из исследования cloudsearch, и возвращать эту информацию, но я нахожу это глупым продолжать использовать mysql, если мы изменим на Cloudsearch …

Я видел документацию для «Использование динамических полей в Amazon Cloudsearch«но я не думаю, что это делает то, чего я хочу достичь … возможно, я что-то неправильно понимаю, но если кто-то может помочь мне понять, как сделать это наилучшим образом, я был бы благодарен».

0

Решение

Могу ли я вернуть некоторую информацию о мультимедиа с помощью Cloudsearch или мне все еще нужно будет использовать запрос mysql?

Если вы спрашиваете, можете ли вы хранить .mp4, .jpgи т.д. медиа-файлы в CloudSearch, ответ — нет. Вы можете хранить текст, числа, даты и долготные координаты (или массивы любых из них, кроме широтных).

Я думаю, что обычный способ обработки медиа — это индексирование URL / пути к медиа в виде текстового поля.

Ссылка: Документация AWS Cloudsearch — Настройка полей индекса

0

Другие решения

Других решений пока нет …