Hi all! In a collection where we have ~54 million documents we've noticed
running a query with the following:
"fq":["{!cache=false}_class:taggedTickets",
"{!cache=false}taggedTickets_ticketId:1000000241",
"{!cache=false}companyId:22476"]
when I debugQuery I see:
"parsed_filter_queries":[
"{!cache=false}_class:taggedTickets",
"{!cache=false}IndexOrDocValuesQuery(taggedTickets_ticketId:[1000000241
TO 1000000241])",
"{!cache=false}IndexOrDocValuesQuery(companyId:[22476 TO 22476])"
]
runs in roughly ~450ms but if we remove `{!cache=false}companyId:22476` it
drops down to ~5ms (it's important to note that `taggedTickets_ticketId` is
globally unique).
If we change the fqs to:
"fq":["{!cache=false}_class:taggedTickets",
"{!cache=false}+companyId:22476 +taggedTickets_ticketId:1000000241"]
when I debugQuery I see:
"parsed_filter_queries":[
"{!cache=false}_class:taggedTickets",
"{!cache=false}+IndexOrDocValuesQuery(companyId:[22476 TO 22476])
+IndexOrDocValuesQuery(taggedTickets_ticketId:[1000000241 TO 1000000241])"
]
we get the correct result back in ~5ms.
My current thought is that in the slow scenario Solr is still running
`{!cache=false}IndexOrDocValuesQuery(companyId:[22476
TO 22476])` even though it "has the answer" from the first two fq.
Am I off-base or misunderstanding how `fq` are processed?