Sorry for being vague. Okay so these scores exist on an external server and they change often enough. The score for each returned user is actually dependent on the user doing the searching (if I'm making the request, and you make the same request, the scores are different). So what I'm doing is getting a bunch of scores from the external and aggregating that with the current scores solr gave in my component. So heres the flow (all numbers are arbitrary):
1) Get 10,000 results from solr from the query component 2) return a list of scores and ids from the external server (it'll return a lot of them) 3) Out of this 10000, I take the top 3500 docs after aggregating the external servers scores and netcons scores. The problem is, the score for each doc is specific to the user making the request. The algorithm in doing these scores is quite complex. I cannot simply re-index with new scores, hence I've written this component which runs after querycomponent and does the magic of filtering. I've come up with a solution but it involved me changing a lot of solr code. First and foremost, I've maed the queryResultCache public and developed a small API in accessing and changing it. I've also changed the QueryResultKey to include a Long userId in its hashCode and equals functions. When a search is made, the QueryComponent caches its results, and then in my custom component I go into that cache, get my superset, filter it out from the scores in my external server, and throw it back into cache. Of course none of this happens if my custom scored stuff is already cached, so its actually decent. If you have any suggestions and improvements I'd greatly appreciate it. Sorry for the long response...I didn't want to be an XY problem again :D -- View this message in context: http://lucene.472066.n3.nabble.com/After-the-query-component-has-the-results-can-I-do-more-filtering-on-them-tp3114775p3141652.html Sent from the Solr - User mailing list archive at Nabble.com.