Можно ли ранжировать результаты поиска по множеству индексов с помощью Algolia?

Я использую Algolia API с PHP, и в настоящее время у меня есть 4 индекса (по одному на таблицу БД, поскольку они рекомендовать).

При отправке запроса я делаю multipleQueries запрос для поиска по всем индексам, но проблема в том, что в наборе результатов каждый индекс ранжируется и возвращает свои собственные аспекты, которые затем должны быть каким-то образом объединены перед отображением.

Есть ли способ указать глобальную стратегию ранжирования при поиске, чтобы не делать это вручную после получения результатов?


person blackbird    schedule 26.04.2017    source источник


Ответы (1)


Переход на «1 индекс на таблицу БД» может не быть окончательным ответом и зависит от вашего конкретного варианта использования и от пользовательского интерфейса, который вы собираетесь предоставить.

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

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

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

person Léo Ercolanelli    schedule 27.04.2017
comment
да, цель состояла в том, чтобы предоставить унифицированную панель поиска во внешнем интерфейсе со смешанными и ранжированными результатами. Я думаю, это означает перемещение всего в один индекс - person blackbird; 27.04.2017