Я использую laravel php для создания веб-приложения, и я использую algolia в качестве службы поиска. Однако я не могу сделать результаты возврата algolia на основе сводных таблиц и чужого идентификатора в других таблицах. Итак, мой вопрос: правда ли, что algolia в настоящий момент не поддерживает опорные и реляционные таблицы? Или я не понимаю это правильно, и это полностью моя вина? Большое спасибо заранееПоддерживает ли Algolia опорные и реляционные таблицы?
4
A
ответ
6
Поисковые системы изначально не предназначены для обработки отношений: это то, что базы данных делают все, но у него большие затраты на время запроса.
По соображениям производительности двигатель Algolia не поддерживает такие отношения. Поэтому наилучшим способом является денормализация ваших данных, прежде чем направить его в Алголию.
Пример:
У вас есть users(id, name)
& таблицу posts(id, author_id, content)
SQL, и вы хотите, чтобы искать в постах во время отображения как содержание сообщения и имя автора.
Вы должны сделать JOIN
на вашей стороне, чтобы разрешить имя автора и нажать один { "objectID": 42, "content": "...", "author_name": "<fetched from users table>" }
объект в Algolia.