сначала вам нужно установить модуль facetapi - это для граней.во-вторых, на hook_update_index вам нужно добавить рейтинг в индекс apachesolr
<?php function module_apachesolr_update_index(&$document, $node) {
//add additional offers;
if (count($node->field_add_offers)) {
$field = $node->field_add_offers;
foreach ($field as $lang => $values) {
foreach ($values as $value) {
if (isset($value['value'])) {
$document->setMultiValue('sm_offers', $value['value']);
}
}
}
}
} ?>
Обратите внимание, это всего лишь пример.Я запускаю 2 цикла из-за многоязычного сайта и проблемы с этим ключом «und» в массиве полей.Здесь также вы не можете добавить все рейтинги, но рассчитать, например, один модификатор на узел, который будет использоваться для сортировки (если у вас его нет в рейтингах)
В-третьих, добавьте фасеты с помощьюhook_facetapi_facet_info
<?php function module_facetapi_facet_info(array $searcher_info) {
return array(
'sm_games_facet' => array(
'name' => 'sm_games_facet',
'label' => t('games'),
'description' => t('Filter games'),
'field' => 'sm_games',
'field alias' => 'game',
'query type' => 'term',
'default widget' => 'facetapi_links',
'allowed operators' => array(FACETAPI_OPERATOR_OR => TRUE, FACETAPI_OPERATOR_AND => TRUE),
'default sorts' => array(
array('display', SORT_ASC),
),
)
);
} ?>
подробнее о фасетах вы можете найти в файле facetapi.api.php;
Forth - переиндексировать контент и включить фасет в настройках apachesolr.
С уважением, Слава