I see what you mean now. You could use two queries - first would return 100 randomly sorted docs (no faceting) and the second with fq that includes the ids of the returned 100 docs + faceting.
On Tue, May 12, 2020 at 1:29 PM David Lukowski <david.lukow...@gmail.com> wrote: > Thanks for the offer of help, this doesn't really seem like what I'm > looking for though, but I could be misunderstanding. I'll try to state it > more clearly and include the query. > > > -- This will give me back all the documents that have "lucky" in them in > RANDOM sorted order. > > http://mysolr-node:8080/solr/M2_content/select > ?q=({!terms f='permissionFilterId'}10,49 AND docBody:(lucky)) > &start=0 > &rows=0 > &fq=channelId:(2 1 3 78 34 35 7 72) > &fq=date:([* TO 2020-05-12T03:59:59.999Z]) > &facet=true > &facet.field=channelId > &f.channelId.facet.limit=10 > &f.channelId.facet.mincount=1 > &hl=false > &fl=id > &wt=json > &sort=random_123456 desc > > The issue is that I only want 100 random results. Sure, I could limit > the results returned to the first 100 by specifying &rows=100, but the > facets would match the query totals and not the rows returned totals. > > RESULTS I HAVE: > "response":{"numFound":377895,"start":0,"docs":[] > }, > "facet_counts":{ > "facet_queries":{}, > "facet_fields":{ > "documentType":[ > "78",374015, > "3",3021, > "2",736, > "1",41, > "34",41, > "35",32, > "72",8, > "7",1]}, > > > RESULTS I WANT: > "response":{"numFound":100,"start":0,"docs":[] > }, > "facet_counts":{ > "facet_queries":{}, > "facet_fields":{ > "documentType":[ > "78",68, > "3",22, > "2",10]}, > > How would I formulate the above query to give me a specific number of > random results with the correct facet counts? > > Thanks for looking, > David > > On Mon, May 11, 2020 at 2:09 PM Srijan <shree...@gmail.com> wrote: > > > If you can tag your filter query, you can exclude it when faceting. Your > > results will honor the filter query and you will get the N results back, > > and since faceting will exclude the filter, it will still give you facet > > count for the base query. > > > > > > > https://lucene.apache.org/solr/guide/8_5/faceting.html#tagging-and-excluding-filters > > > > > > On Mon, May 11, 2020 at 3:36 PM David Lukowski <david.lukow...@gmail.com > > > > wrote: > > > > > I'm looking for a way if possible to run a query with random results, > > where > > > I limit the number of results I want back, yet still have the facets > > > accurately reflect the results I'm searching. > > > > > > When I run a search I use a filter query to randomize the results based > > on > > > a modulo of a random seed. This returns a results set with the > associated > > > facets for each documentType. > > > > > > "response":{"numFound":377895,"start":0,"docs":[] > > > }, > > > "facet_counts":{ > > > "facet_queries":{}, > > > "facet_fields":{ > > > "documentType":[ > > > "78",374015, > > > "3",3021, > > > "2",736, > > > "1",41, > > > "34",41, > > > "35",32, > > > "72",8, > > > "7",1]}, > > > > > > How do I limit the number of results returned to N and have the facets > > > accurately reflect the number of messages? I cannot simply say rows=N > > > because the facets will always reflect the total numFound and not the > > > limited results set I'm looking for. > > > > > >