Package org.apache.solr.bench.search
Class RangeFieldSearch
java.lang.Object
org.apache.solr.bench.search.RangeFieldSearch
Benchmarks the docValues filter optimization for range field types.
Docs hold wide ranges [m, m+SPAN] in indexed-only (BKD) and indexed+docValues fields,
single-valued (r_ir/r_ir_dv) and multiValued (r_mv_ir/
r_mv_ir_dv). A central window matches ~half the docs, so the range clause is costly to
materialize but cheap to verify per-doc. It is AND-ed with a selective term filter whose
doc-frequency is controlled, so we know and the [range-bench] setup log confirms, which
IndexOrDocValuesQuery branch runs.
Params: criteria (the {!numericRange criteria=...} relation), field
(the DV / non-DV pairs), and scenario - the lead's selectivity vs the rangeCost/8
cutover: selective_dv (~2000 docs -> docValues branch),
broad_points (~250000 docs -> points branch), none_points
(standalone -> points).
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidrangeQuery(org.openjdk.jmh.infra.Blackhole blackhole, RangeFieldSearch.BenchState benchState, MiniClusterState.MiniClusterBenchState miniClusterState)
-
Constructor Details
-
RangeFieldSearch
public RangeFieldSearch()
-
-
Method Details
-
rangeQuery
public void rangeQuery(org.openjdk.jmh.infra.Blackhole blackhole, RangeFieldSearch.BenchState benchState, MiniClusterState.MiniClusterBenchState miniClusterState) throws org.apache.solr.client.solrj.SolrServerException, IOException - Throws:
org.apache.solr.client.solrj.SolrServerExceptionIOException
-