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