Рейтинг нод (пользователей) в связке с Apache Solr (возможность сортировки результатов вывода по количеству набранных голосов).

Главные вкладки

Аватар пользователя misterpronin misterpronin 24 мая 2014 в 13:29

Вывожу индекс нод Apache Solr через Views. Используется фасетный поиск и рейтинг Drupal like (модуль, основанный на flag). Как сортировать ноды по количеству голосов Drupal like ? Если в представлении выводить содержимое, а не индекс, то такая возможность есть, но если выводить индекс, то... увы.

Какие модули рейтинга дружат с Apache Solr? Кто-нибудь реализовывал что-то подобное?

Заранее ОГРОМНОЕ спасибо!

Комментарии

Аватар пользователя misterpronin misterpronin 25 мая 2014 в 12:12

За полтора дня есть только маленький небольшой прогресс...

Если в индексе для полей рейтинга указать тип "десятичное число", то в views появляется возможность добавить контекстные фильтры

  • Рейтинг: "Rating count (indexed)
  • Рейтинг: Средний Рейтинг (indexed)
  • Рейтинг: User's Rating (indexed)

Их можно добавить к критериям сортировки, раскрыть их для пользователей (как и всем другим критериям). В общем с виду всё работает... только вот наличие всего этого никак не сказывается на выводе списка материалов. Т.е. сортировка вообще не срабатывает и материалы показываются в каком-то другом, непонятном для меня порядке... по дате мож...

Help! Подскажите что ещё можно предпринять? Заранее спасибо!

Аватар пользователя misterpronin misterpronin 28 мая 2014 в 0:40

Спасибо за помощь. В этой статье говориться о том, как добавить свои поля в поиск. Но проблема у меня не в этом, поля то прекрасно добавляются в поиск, только вот сортировку по ним сделать никак не получается. Всю эту серию статей читал, очень хорошие статьи, но вот эту тему не раскрывают.

Аватар пользователя misterpronin misterpronin 28 мая 2014 в 9:31

Вместо Apache Solr 4.8.1 установил версию 3.6.2 ... Вместо java-1.7.0-openjdk поставил java-1.6.0-openjdk . Не помогло. Я то конечно подозревал, что дело не в самом Apache, скорее всего модуль apachesolr_views не рассчитан на работу с популярными модулями рейтинга типа voting api, rate, flag ... ХЗ что делать.....

Аватар пользователя multpix multpix 28 мая 2014 в 10:15

связями подтянуть поле и положить его в обычную сортировку(раскрытую?) вьюсов пробовал?
[module=search_api_sorts] пробовал?

Аватар пользователя misterpronin misterpronin 28 мая 2014 в 16:28

Всё это пробовал. Подтянул поле связями, положил в сортировку views, раскрыл её... Теперь пользователи могут менять сортировку, выбирая её из списка... но их выбор почему-то никак не сказывается на выводе материалов через views, т.е. материалы продолжают отображаться в обычной сортировке, как-будто пользователь и не менял её. Ещё по-умолчанию эти подтянутые связями поля имеют тип "fulltext'... при таком раскладе добавить их в сортировку views вообще нельзя. Если поменять тип на "десятичное число" или "целое число", тогда их можно добавить в сортировку по возрастанию или по убыванию... но ничего не работает. Про модуль search api sorts... Я так понял он добавляет вкладку "сортировки" в индекс, но доступных сортировок в списке нет. Бегло поискал в интернете как пользоваться этим модулем и как добавить сортировки в список... в общем не разобрался пока.

Аватар пользователя misterpronin misterpronin 29 мая 2014 в 21:46

Решение найдено. Рейтинг Fivestar. Модуль Search API Fivestar. Ура товарищи!

Модуль добавляет в индекс поля рейтинга fivestar (не нужно подтягивать эти поля связями). Единственный недочёт модуля - тип полей по-умолчанию "fulltext"... Я указал для поля "Fivestar - Average rating" - тип "десятичное число", для поля "Fivestar - Rating count" тип "целое число" и всё работает!