Поддерживает ли Algolia сводные и реляционные таблицы?

Я использую laravel php для создания веб-приложения и использую algolia в качестве службы поиска. Однако я не могу заставить algolia возвращать результаты на основе сводных таблиц и внешнего идентификатора в других таблицах. Итак, мой вопрос: правда ли, что algolia на данный момент не поддерживает сводные и реляционные таблицы? Или я не понимаю это правильно, и это полностью моя вина? заранее большое спасибо


person Mohammed Jabri    schedule 22.04.2016    source источник


Ответы (1)


Поисковые системы изначально не предназначены для обработки отношений: базы данных прекрасно с этим справляются, но это требует больших затрат во время запроса.

По соображениям производительности движок Algolia не поддерживает такие отношения. Поэтому лучший способ — денормализовать ваши данные, прежде чем отправлять их в Алголию.

Пример:

У вас есть таблица SQL users(id, name) и posts(id, author_id, content), и вы хотите выполнять поиск в сообщениях, отображая при этом как содержимое сообщения, так и имя автора.

Вы должны выполнить JOIN на своей стороне, чтобы разрешить имя автора и отправить один объект { "objectID": 42, "content": "...", "author_name": "<fetched from users table>" } в Алголию.

person redox    schedule 22.04.2016