Not sure the processing would be any faster than just querying again, but, in your original result set the first doc that has a field value that matches a to 10 facet, will be the number 1 item if you fq on that facet value. So you don't need to query it again. You would only need to query those that aren't in your result set. ie: q=dog&facet=on&facet.field=foo results 10 docs id=1, foo=A id=2, foo=A id=3, foo=B id=4, foo=C id=5, foo=B id=6, foo=A id=7, foo=Z id=8, foo=T id=9, foo=B id=10, foo=J
If your facet results top 10 were (A, B, T, J, D, X, Q, O, P, I) you already have the number 1 for A (id 1), B (id 3), T (id 8) and J (id 10) in your very first query. You only need to query D, X, Q, O, P, I. If your first query returned 100 instead of 10 you may even have more of the top 10 represented. Again, the processing steps you would need to do may not be any faster than re-querying, it depends on the speed of your index and network etc. I would think that if your second query was q=dog&fq=(foo=A OR foo=B OR foo=T...etc) then you have even a greater chance of having the number 1 result for each of the top 10 in just your second query. -- View this message in context: http://lucene.472066.n3.nabble.com/Best-solution-to-avoiding-multiple-query-requests-tp1020886p1022397.html Sent from the Solr - User mailing list archive at Nabble.com.