Initial data:
Doc count: 1793026
Field: "product_type", point int, indexed true, stored false,
docvalues true. Values:
 "facet_fields":{
      "product_type":["3",1069282,"2",710042,"1",13702]
    },
Single shard, single instance.

# ./hey_linux_amd64 -n 10000 -c 10 -T "application/json"
'http://localhost:8983/solr/XXX/select?fl=product_id&wt=json&q=product_type:"1"&start=0&rows=51'
Summary:
  Total:        0.6374 secs
  Slowest:      0.0043 secs
  Fastest:      0.0003 secs
  Average:      0.0006 secs
  Requests/sec: 15688.5755

# ./hey_linux_amd64 -n 10000 -c 10 -T "application/json"
'http://localhost:8983/solr/XXX/select?fl=product_id&wt=json&q=product_type:"1"&start=0&rows=50'
Summary:
  Total:        101.3246 secs
  Slowest:      0.2048 secs
  Fastest:      0.0564 secs
  Average:      0.1007 secs
  Requests/sec: 98.6927


1) I've already played with queryResultWindowSize and
queryResultMaxDocsCached by setting different, high and low values and
this is probably not what I'm looking for since it gave a <few
milliseconds difference in query performance
2) Checked on different versions of solr (9.6.1 and 8.7.0) - no
significant changes
3) Tried changing the field type to string - zero performance changes
4) In both cases I see successful lookups in queryResultCache
5) Enabling documentCache solves the problem in this case (rows<=50),
but introduces many other performance issues so it doesn't seem like a
viable option.

Reply via email to