2016-04-22 2 views
4

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

ответ

6

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

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

Пример:

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

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

Смежные вопросы