Есть база данных:
В Sphinx на ней построен индекс t_person
Конфиг сурса:
source t_person {
...
sql_query = SELECT id, name FROM t_person
...
}
с мультиатрибутом category — списком категорий продуктов, которые есть у данной персоны
...
sql_attr_multi = uint category from ranged-query; \
SELECT `pp`.`people`, `pc`.`category` \
FROM `t_product_people` `pp`
INNER JOIN `t_product_category` `pc` ON `pc`.`product` = `pp`.`product` \
...
Есть ли способ добавить в текущий индекс информацию о количестве продуктов в каждой из категорий для текущей персоны?
Например, меня бы устроил вариант, если бы поиск по индексу возвращал не список категорий, а ассоциативный массив категория=>количество продуктов, но мультиатрибуты в сфинксе поддерживают только INT && TIMESTAMP
Очевидный вариант хранения количества продуктов для персоны в отдельной таблице БД рассматривается, но отдельно, сейчас думаю можно ли обойтись сфинксом.