This is probably not the best answer, but my gut says that even if you changed your document to a simple 2 fields and have one as your metric and the other as a TrieDateField you would speed up and simplify your date range queries.
-- Jared Whiklo On 2014-06-27 10:10 AM, "Andy Crossen" <acros...@gmail.com> wrote: >Hi folks, > >My application requires tracking a daily performance metric for all >documents. I start tracking for an 18 month window from the time a doc is >indexed, so each doc will have ~548 of these fields. I have in my schema >a >dynamic field to capture this requirement: > ><dynamicField name=“metric_*” type="int" …/> > >Example: >metric_2014_06_24 : 15 >metric_2014_06_25 : 21 >… > >My application then issues a query that: >a) sorts documents by the sum of the metrics within a date range that is >variable for each query; >b) gathers stats on the metrics using the Statistics component. > >With this design, the app must unfortunately: >a) construct the sort as a long list of fields within the spec’d date >range >to accomplish the sum; e.g. sort=sum(metric_2014_06_24,metric_2014_06_25…) >desc >b) specify each field in the range independently to the Stats component; >e.g. stats.field=metric_2014_06_24&stats.field=metric_2014_06_25… > >Am I missing a cleaner way to accomplish this given the requirements >above? > >Thanks for any suggestions you may have.