On Fri, Sep 25, 2015 at 5:07 AM, Alessandro Benedetti <benedetti.ale...@gmail.com> wrote: > There is an undocumented "method" parameter - I need to enable that to > >> allow switching between the docvalues approach and the UnInvertedField >> approach. >> > > Only to clarify, please correct me Yonik if my understanding is wrong or > outdated : > To calculate facets, without going into the algorithm details there are 2 > approaches available : > Term Enum ( good for limited number of unique values for your field) and Fc > ( FieldCache) good for a lot of unique values, but not for big fields. > > For the FC approach, > - storing the DocValues for the field would transparently use them ( with > the known benefit at the cost of disk space for the docValues data > structures) > - without the DocValues , there algorithm will un-invert the index at > runtime using the field cache to store the results
Yeah, that's right so far. We should add a switch though for the method of uninversion... UnInvertedField (for indexes that change less frequently) vs DocValues (i.e. if you didn't index with DocValues, UnInvertedReader will uninvert to an in-memory structure that looks like DocValues). > So , from your quote, Term Enum will not be supported by Json Faceting ? We can, it just hasn't been a priority yet. Anyway, I'm going to step away from email and https://issues.apache.org/jira/browse/SOLR-8096 for a couple of days. I need to go focus on putting some slides together for Strata/HadoopWorld next week. I'll be talking about the new facet module / json facets there. -Yonik