Добрый день!
Есть задача "получить из Сфинкса уникальные свойства товаров и количество товаров с этими свойствами".
Другими словами получить из Сфинкса выдачу аналогичную SQL запросу:
SELECT i.prop, count(i.prop) FROM table_items i GROUP BY i.prop
Работа со сфинксом у нас в проекте организована через
sphinx client.
Пробовал это организовать, через setgroupby, но получается странный результат когда свойство "sql_attr_multi".
На пример, свойство tags, код:
$cl->setGroupBy('tags', 4, '@groupby asc');
$result = $cl->query($query, $index);
foreach ($result['matches'] as $match)
{
var_dump($match['attrs']['@groupby'], $match['attrs']['tags']);
}
выдает следующий результат:
int 24
array (size=2)
0 => int 24
1 => int 273
int 58
array (size=2)
0 => int 58
1 => int 273
int 273
array (size=2)
0 => int 234
1 => int 273
Т.е. он выдает 24, 58, 273. Почему свойство 234 теряется? Причем если изменить порядок сортировки, то теряться будет свойство 273.
Подскажите, что я делаю не так.