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

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

4

Решение

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

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

Пример:

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

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

6

Другие решения

Других решений пока нет …