Hi Shai, i)Hope, when opening SortedSetDocValuesReaderState , we are calculating ordinals( this will be used to calculate facet count ) for doc values field and this only made the state instance somewhat costly. Am I right or any other reason behind that?
ii) During indexing, we are providing facet ordinals in each doc and I think it will be useful in search side, to calculate facet counts only for matching docs. otherwise, it carries any other benefits? iii) Is SortedSetDocValuesReaderState thread-safe (ie) multiple threads can call this method concurrently? Kindly post your suggestions. Thanks, Chitra On Thu, Nov 10, 2016 at 4:34 PM, Shai Erera <ser...@gmail.com> wrote: > Hi > > The reason IMO is historic - ES and Solr had faceting solutions before > Lucene had it. There were discussions in the past about using the Lucene > faceting module in Solr (can't tell for ES) but, sadly, I can't say I see > it happening at this point. > > Regarding your other question, IMO the Lucene faceting engine, in terms of > performance and customizability, is on par with Solr/ES. However, it lacks > distributed faceting support and aggregations. Since many people use > Solr/ES and not Lucene directly, the Solr/ES faceting module continues to > advance separately from the Lucene one. > > Enhancing Lucene facets with aggregations and even distributed faceting > capabilities is mostly a matter of time and priorities. If you're > interested in it, I'd be willing to collaborate with you on that as much as > I can! > > And I'd still hope that this work finds its way into Solr/ES, as I think > it's silly to have that many number of faceting implementations, where they > all rely on the same low-level data structure - Lucene! > > Shai > > > On Thu, Nov 10, 2016 at 12:32 PM Kumaran Ramasubramanian < > kums....@gmail.com> > wrote: > > > Hi All, > > We all know that Lucene supports faceting by providing > > Taxonomy(Separate index and hierarchical facets) and > > SortedSetDocValuesFacetField ( flat facets and no sidecar index). > > > > Then why did solr and elastic search go for its own implementation > ? > > ( that is, solr uses block join & elasticsearch uses aggregations ) Is > > there any limitations in lucene's implementation ? > > > > > > -- > > Kumaran R > > >