Just following up on Mike's comment:
> It used to be that the "doc values" based faceting did not support > arbitrary hierarchy, but I think that was fixed at some point. Yeah it was fixed a year or two ago, SortedSetDocValuesFacetField supports hierarchical faceting, I think you just need to enable it in the FacetsConfig. One thing to keep in mind is even though SSDV faceting doesn't require a taxonomy index, it still requires a SortedSetDocValuesReaderState to be maintained, which can be a little bit expensive to create, but only needs to be done once. This benchmark code <https://github.com/mikemccand/luceneutil/blob/master/src/main/perf/facets/BenchmarkFacets.java> serves as a pretty basic example of SSDV/hierarchical SSDV faceting. On Fri, Oct 20, 2023 at 7:09 AM Michael Wechner <michael.wech...@wyona.com> wrote: > cool, thank you very much! > > Michael > > > > Am 20.10.23 um 15:44 schrieb Michael McCandless: > > You can use either the "doc values" implementation for facets > > (SortedSetDocValuesFacetField), or the "taxonomy" implementation > > (FacetField, in which case, yes, you need to create a TaxonomyWriter). > > > > It used to be that the "doc values" based faceting did not support > > arbitrary hierarchy, but I think that was fixed at some point. > > > > Mike McCandless > > > > http://blog.mikemccandless.com > > > > > > On Fri, Oct 20, 2023 at 9:03 AM Michael Wechner < > michael.wech...@wyona.com> > > wrote: > > > >> Hi Mike > >> > >> Thanks for your feedback! > >> > >> IIUC in order to have the actual advantages of Facets one has to > >> "connect" it with a TaxonomyWriter > >> > >> FacetsConfig config = new FacetsConfig(); > >> DirectoryTaxonomyWriter taxoWriter = new > DirectoryTaxonomyWriter(taxoDir); > >> indexWriter.addDocument(config.build(taxoWriter, doc)); > >> > >> right? > >> > >> Thanks > >> > >> Michael > >> > >> > >> > >> > >> Am 20.10.23 um 12:19 schrieb Michael McCandless: > >>> There are some differences. > >>> > >>> StringField is indexed into the inverted index (postings) so you can do > >>> efficient filtering. You can also store in stored fields to retrieve. > >>> > >>> FacetField does everything StringField does (filtering, storing > >> (maybe?)), > >>> but in addition it stores data for faceting. I.e. you can compute > facet > >>> counts or simple aggregations at search time. > >>> > >>> FacetField is also hierarchical: you can filter and facet by different > >>> points/levels of your hierarchy. > >>> > >>> Mike McCandless > >>> > >>> http://blog.mikemccandless.com > >>> > >>> > >>> On Fri, Oct 20, 2023 at 5:43 AM Michael Wechner < > >> michael.wech...@wyona.com> > >>> wrote: > >>> > >>>> Hi > >>>> > >>>> I have found the following simple Facet Example > >>>> > >>>> > >>>> > >> > https://github.com/apache/lucene/blob/main/lucene/demo/src/java/org/apache/lucene/demo/facet/SimpleFacetsExample.java > >>>> whereas for a simple categorization of documents I currently use > >>>> StringField, e.g. > >>>> > >>>> doc1.add(new StringField("category", "book")); > >>>> doc1.add(new StringField("category", "quantum_physics")); > >>>> doc1.add(new StringField("category", "Neumann")) > >>>> doc1.add(new StringField("category", "Wheeler")) > >>>> > >>>> doc2.add(new StringField("category", "magazine")); > >>>> doc2.add(new StringField("category", "astro_physics")); > >>>> > >>>> which works well, but would it be better to use Facets for this, e.g. > >>>> > >>>> doc1.add(new FacetField("media-type", "book")); > >>>> doc1.add(new FacetField("topic", "physics", "quantum"); > >>>> doc1.add(new FacetField("author", "Neumann"); > >>>> doc1.add(new FacetField("author", "Wheeler"); > >>>> > >>>> doc1.add(new FacetField("media-type", "magazine")); > >>>> doc1.add(new FacetField("topic", "physics", "astro"); > >>>> > >>>> ? > >>>> > >>>> IIUC the StringField approach is more general, whereas the FacetField > >>>> approach allows to do a more specific categorization / search. > >>>> Or do I misunderstand this? > >>>> > >>>> Thanks > >>>> > >>>> Michael > >>>> > >>>> > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > >>>> For additional commands, e-mail: java-user-h...@lucene.apache.org > >>>> > >>>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > >> For additional commands, e-mail: java-user-h...@lucene.apache.org > >> > >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > >