Thanks very much! By the way, we are using eDisMax, and the queries our UI supports don't include fancy Booleans, so your ideas just might work
Thanks again, Steve -----Original Message----- From: Erick Erickson <erickerick...@gmail.com> Sent: Tuesday, February 11, 2020 7:16 PM To: solr-user@lucene.apache.org Subject: [External] Re: per-field count of documents matched? Hmmm, you could do a facet query (or a series of them). facet.query=LastName:stone&facet.query=Street:stone etc….. That’d automatically only tally for the docs that match. You could also consider a custom search component. For the exact case you describe, it’s actually fairly simple. The postings list has, for each term, the list of docs that contain it (internal Lucene doc ID). So I might have for field LastName: stone -> 1,73,100… for field Street: stone-> 264,933… So it’s simply a matter of, for each term, and each doc the overall query matches go down the list of docs and add them up. However… I’m not sure you’d get what you want in either case. Consider a query (A AND B) OR (C AND D). And let’s say doc1 contains A in LastName, and C,D in Street. Should A be counted in the LastName tally for this doc? I suppose you could put the full query in the facet.query above. I’m still not sure it’s what you need, since I’m not sure what "per-field count of documents that match” means in your application… Best, Erick > On Feb 11, 2020, at 6:15 PM, Fischer, Stephen > <sfisc...@pennmedicine.upenn.edu> wrote: > > Hi wise Solr experts, > > For our scientific use-case we want to show users a per-field count of > documents that match that field. > > We like to do this efficiently because we might return up to a million > documents. > > For example, if we had documents describing People, and a query of, > say, "Stone" we might want to show > > Fields matched: > Last name: 145 > Street: 431 > Favorite rock band: 13 > Home exterior: 2340 > > Is there an efficient way to do this? > > So far, we're trying to leverage highlighting. But it seems very slow. > > Thanks