@Panda_Tamara
Разработчик проектов под UMI.CMS

Как получить статистику по поиску в Spfinx?

Добрый день! Подскажите максимально эффективный способ для сбора статистики по полям в проведенном поиске. Например, у апельсина есть поля - вес, размер, цвет и т.д. Как в результатах поиска получить статистику в виде: было найдено N апельсин, среди которых: 2 апельсина весят 150гр, 15 - 160гр и так по каждому полю. При этом мне нужна не только статистика, а результаты полнотекстового поиска тоже. Спасибо
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
opium
@opium
Просто люблю качественно работать
записывайте результаты каждого поиска и потом выводите статистику.
Ответ написан
@Panda_Tamara Автор вопроса
Разработчик проектов под UMI.CMS
Итоговая реализация:

$cl->SetFilter(); //ставим все фильтры
$cl->AddQuery($base_word . $stop_word, 'index');


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

$cl->SetGroupBy ("status", SPH_GROUPBY_ATTR, "@count desc" ); 
$cl->AddQuery($base_word . $stop_word, 'index');

$cl->SetGroupBy ("cat", SPH_GROUPBY_ATTR, "@count desc" );  
$cl->AddQuery($base_word . $stop_word, 'index');

$result = $cl->RunQueries();


Как результат - в result[0] будет результат полнотекстого поиска, а в result[1] и result[2] та статистка, что мне была нужна. Своего рода facet
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы