I have a lot of experience with Bobo Browse. The code is well maintained and performs well. I don't have time to download and implement code examples, but if you have working examples up somewhere, I'd be happy to take a look.
Vriendelijke groet, Marc On Mon, Feb 28, 2011 at 6:00 PM, <hibernate-dev-requ...@lists.jboss.org>wrote: > Send hibernate-dev mailing list submissions to > hibernate-dev@lists.jboss.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.jboss.org/mailman/listinfo/hibernate-dev > or, via email, send a message with subject or body 'help' to > hibernate-dev-requ...@lists.jboss.org > > You can reach the person managing the list at > hibernate-dev-ow...@lists.jboss.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of hibernate-dev digest..." > > > Today's Topics: > > 1. [HSearch] Faceting feedback (Hardy Ferentschik) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 28 Feb 2011 16:13:43 +0100 > From: "Hardy Ferentschik" <hibern...@ferentschik.de> > Subject: [hibernate-dev] [HSearch] Faceting feedback > To: "hibernate-dev@lists.jboss.org" <hibernate-dev@lists.jboss.org> > Message-ID: <op.vrmck5ewqxb...@sarmakand.lan> > Content-Type: text/plain; charset=iso-8859-15; format=flowed; > delsp=yes > > > Hi, > > I thought it would be great to get some feedback on my faceting work. > You can see the latest on my Search fork - > https://github.com/hferentschik/hibernate-search/commits/HSEARCH-667 > > Technically I decided to use a simple custom Collector. I abandoned the > idea for using bobo browse, since it did > not really seem to fit our architecture and I am not sure how well > maintained the code is. > Within the custom Collector I am using Lucene's FieldCache to cache and > collect the count values during facting > (as a reminder, faceting for example means that I am searching for all > cars or a certain make, but then also want > to group the matching cars into their cubic capacity. See also - > http://en.wikipedia.org/wiki/Faceted_search) > Using the FieldCache is quite memory costly, but there are other ways to > implement the faceting itself. > > At the moment I am mostly interested in the feedback around the public > API. The public classes can be found in > the package org.hibernate.search.query.facet - > > https://github.com/hferentschik/hibernate-search/tree/3a9877e2bbc47a8bd6e438dbbab56d93ac9101fd/hibernate-search/src/main/java/org/hibernate/search/query/facet > > The idea is to write a fulltext query as usual and then add/enable a facet: > > FacetRequest request = new SimpleFacetRequest( indexFieldName, > FacetSortOrder.COUNT_DESC, false ); > TermQuery term = new TermQuery( new Term( "make", "honda" ) ); > FullTextQuery query = fullTextSession.createFullTextQuery( term, Car.class > ); > query.enableQueryFacet( "foo", request ); > > Then you run the query. This will enable the facet collector and after the > query executed you get access to a map > which maps FacetResults to the facet name. Each FacetResult contains a > list of Facets which contain the actually > field values and counts: > > Map<String, FacetResult> results = query.getFacetResults(); > FacetResult facetResult = results.get( "foo" ); > List<Facet> facetList = facetResult.getFacets(); > assertEquals( "Wrong facet count for facet ", 100, facetList.get( 0 > ).getCount() ); > > More actual tests can be found here - > > https://github.com/hferentschik/hibernate-search/tree/3a9877e2bbc47a8bd6e438dbbab56d93ac9101fd/hibernate-search/src/test/java/org/hibernate/search/test/query/facet > > At the moment you are able to facet on simple (string) based values or on > number ranges (eg price ranges 0 - 100, ...). For that I have created > subclasses of > FacetRequest - SimpleFacetRequest and RangeFacetRequest (a > DateRangeFacetRequest might be interesting as well) > > Some concrete questions: > * Atm, I am only exposing a programmatic API for creating FacetRequests. I > guess we want to have annotations for this as well, right? > Would we keep the programmatic configuration as a public API? > * I made the FacetRequest classes immutable atm, but this way I have a > multitude of constructors catering for a whole range of parameters > (sort order, include zero counts, ...). Any opinions around immutable > objects vs objects with setters for configuring options after creation. > > If course I am interested in any other feedback as well. > > --Hardy > > > > > > > ------------------------------ > > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > > End of hibernate-dev Digest, Vol 56, Issue 20 > ********************************************* > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev