This looks useful Tommaso. With OAK-2005 we should be able to support multiple LuceneIndexes and manage them easily.
If we can abstract all this out and just expose the facet information as virtual node that would simplify the stuff for end users. Probably we can have a read only NodeStore impl to expose the faceted data bound to a system path. Otherwise we would need to expose the Lucene API and OakDirectory Chetan Mehrotra On Tue, Aug 26, 2014 at 1:28 PM, Tommaso Teofili <tommaso.teof...@gmail.com> wrote: > 2014-08-25 19:02 GMT+02:00 Lukas Smith <sm...@pooteeweet.org>: > >> Aloha, >> > > Aloha! > > >> >> you should definitely talk to the HippoCMS developers. They forked >> Jackrabbit 2.x to add facetting as virtual nodes. They ran into some >> performance issues but I am sure they still have value-able feedback on >> this. >> > > Cool, thanks for letting us know, if you or any other (from Hippo) would > like to give some more insight on pros and cons of such an approach that'd > be very good. > > Regards, > Tommaso > > >> >> regards, >> Lukas Kahwe Smith >> >> > On 25 Aug 2014, at 18:43, Laurie Byrum <lby...@adobe.com> wrote: >> > >> > Hi Tommaso, >> > I am happy to see this thread! >> > >> > Questions: >> > Do you expect to want to support hierarchical or pivoted facets soonish? >> > If so, does that influence this decision? >> > Do you know how ACLs will come into play with your facet implementation? >> > If so, does that influence this decision? :-) >> > >> > Thanks! >> > Laurie >> > >> > >> > >> >> On 8/25/14 7:08 AM, "Tommaso Teofili" <tommaso.teof...@gmail.com> >> wrote: >> >> >> >> Hi all, >> >> >> >> since this has been asked every now and then [1] and since I think it's >> a >> >> pretty useful and common feature for search engine nowadays I'd like to >> >> discuss introduction of facets [2] for the Oak query engine. >> >> >> >> Pros: having facets in search results usually helps filtering (drill >> down) >> >> the results before browsing all of them, so the main usage would be for >> >> client code. >> >> >> >> Impact: probably change / addition in both the JCR and Oak APIs to >> support >> >> returning other than "just nodes" (a NodeIterator and a Cursor >> >> respectively). >> >> >> >> Right now a couple of ideas on how we could do that come to my mind, >> both >> >> based on the approach of having an Oak index for them: >> >> 1. a (multivalued) property index for facets, meaning we would store the >> >> facets in the repository, so that we would run a query against it to >> have >> >> the facets of an originating query. >> >> 2. a dedicated QueryIndex implementation, eventually leveraging Lucene >> >> faceting capabilities, which could "use" the Lucene index we already >> have, >> >> together with a "sidecar" index [3]. >> >> >> >> What do you think? >> >> Regards, >> >> Tommaso >> >> >> >> [1] : >> >> >> http://markmail.org/search/?q=oak%20faceting#query:oak%20faceting%20list%3 >> >> Aorg.apache.jackrabbit.oak-dev+page:1+state:facets >> >> [2] : http://en.wikipedia.org/wiki/Faceted_search >> >> [3] : >> >> >> http://lucene.apache.org/core/4_0_0/facet/org/apache/lucene/facet/doc-file >> >> s/userguide.html >> > >>