@Prescott

Sphinx и мульти атрибуты в виде массива

Есть база данных:



В 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

Очевидный вариант хранения количества продуктов для персоны в отдельной таблице БД рассматривается, но отдельно, сейчас думаю можно ли обойтись сфинксом.
  • Вопрос задан
  • 2780 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы