Sphinx запрос не корректно выводит результат

Решил добавить в своё приложение на Laravel поиск с помощью Sphinx. Поставил библиотеку fobiaphp / laravel-sphinx с настройкой разобрался. Есть проблема с составлением запроса, в частности по выводу всех категорий для определённого товара. В Laravel этот запрос выглядит так:

select `categories`.*, `categories_products`.`product_id` as `pivot_product_id`, `categories_products`.`category_id` as `pivot_category_id` from `categories` inner join `categories_products` on `categories`.`id` = `categories_products`.`category_id` where `categories_products`.`product_id` in (41525, 49423, 49823, 52184, 52553, 52554, 52555, 52556, 52557, 52558, 52559, 52560, 52561, 52562, 52564)

В принципе со своей задачей справляется и выводит категории корректно.

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

source categories : conn {
  sql_query =   SELECT cp.product_id, cp.category_id, cp.product_id AS product_id_attr, cp.category_id AS category_id_attr, c.name, c.name AS name \
                     FROM categories AS c \
                INNER JOIN categories_products AS cp ON c.id = cp.category_id \
  
  sql_attr_uint = product_id_attr
  sql_attr_uint = category_id_attr
  sql_field_string = name
}

Вот так он выглядит на деле:

select *, product_id_attr as pivot_product_id_attr, category_id_attr as pivot_category_id_attr FROM categories where product_id_attr in (52842, 52843, 52844, 52850, 53521, 53522, 53523, 53524, 53525, 53526, 53527, 53528, 53529, 53530, 53531)

Таблица categories_products имеет только 2-а столбца: category_id и product_id.


Ответы (0 шт):