We’ve been running a load test against our index and have noticed that the 
facet queries are significantly slower than we would like.
Currently these types of queries are taking several seconds to execute and are 
wondering if it would be possible to speed these up.
Repeating the same query over and over does not improve the response time so 
does not appear to utilise any caching.
Ideally we would like to be targeting a response time around tens or hundreds 
of milliseconds if possible.

An example query that is taking around 2-3 seconds to execute is:

q=*.*
facet=true
facet.field=D_UserRatingGte
facet.mincount=1
facet.limit=-1
rows=0

"response":{"numFound":18979503,"start":0,"maxScore":1.0,"docs":[]}
"facet_counts":{
    "facet_queries":{},
    "facet_fields":{
      "D_UserRatingGte":[
        "1575",16614238,
        "1576",16614238,
        "1577",16614238,
        "1578",16065938,
        "1579",12079545,
        "1580",458799]},
    "facet_ranges":{},
    "facet_intervals":{},
    "facet_heatmaps":{}}}

I have also tried the equivalent query using the JSON Facet API with the same 
outcome of slow response time.
Additionally I have tried changing the facet method (on both facet apis) with 
the same outcome of slow response time.

The underlying field for the above query is configured as a solr.IntPointField 
with docValues, indexed and multiValued set to true.
The index has just under 19 million documents and the physical size on disk is 
10.95GB. The index is read-only and consists of 4 segments with 0 deletions.
We’re running standalone Solr 8.3.1 with a 8GB Heap and the underlying Google 
Cloud Virtual Machine in our load test environment has 6 vCPUs, 32G RAM and 
100GB SSD.

Would anyone be able to point me in a direction to either improve the 
performance or understand the current performance is expected?

Kind Regards,

James Bodkin

Reply via email to