Применение отдельных к конкретному полю в запросе CloudSearch

Я изучаю AWS CloudSearch для новой поисковой системы.

Предположим, что есть статьи и некоторые комментарии, написанные по каждой статье. API поиска должен возвращать статьи, которые соответствуют или имеют какие-либо подходящие комментарии. Так есть ли какой-нибудь возможный способ получить значения DISTINCT (в данном случае, уникальный идентификатор статьи) из CloudSearch с помощью одного запроса? Если нет, что было бы хорошим решением для удовлетворения требований этой функции с CloudSearch?

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

1 ответ

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

Другие вопросы по тегам