How to index and facet voting data in Solr with Search API integration

I’m working on a project where I need to implement faceted search and sorting based on user ratings. I have a voting module setup that creates multiple ratings per content item (around 9 different rating categories per piece of content). The issue I’m running into is that these vote values aren’t getting indexed properly in my search configuration.

Has anyone successfully configured vote indexing for faceted search functionality? I need users to be able to filter and sort content based on these rating scores.

If the current voting system I’m using isn’t compatible, what other rating modules would you recommend that work better with search indexing? Any suggestions would be helpful.

Hit the same wall and found a different approach that worked - skip fighting with the voting module’s storage and use Entity Field Queries in a custom processor instead. Have it aggregate vote data before indexing happens. Build a search processor that calculates average ratings for each category during indexing and stores them as separate fields. You’ll dodge the computed field overhead that hits every search query. Just make sure your processor runs after content updates but before Solr indexing - get the processor weight wrong and you’ll end up with stale vote data. Performance has been way more stable than real-time computed fields, especially on high traffic sites where votes change constantly.

been there with the same headaches. switch to the fivestar module - it works way better with solr indexing right away. vote data gets stored as actual field values that search api grabs automatically, no custom code needed. just rebuild your index after switching or the old vote data will screw things up.

I ran into the same indexing issues with vote data. The problem was how vote values get stored - the voting module stores ratings in a way Search API can’t automatically index. Here’s what fixed it for me: create custom computed fields in your search index config that pull vote averages straight from the voting tables. You’ll need a small custom module that implements hook_search_api_alter_callback_info() to expose the vote data as decimal fields for faceting and sorting. One key thing - set the field type as decimal, not integer, or you’ll lose rating precision. I’ve been running this setup on production for over a year with no issues.