lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] [Commented] (LUCENE-4647) Simplify CategoryDocumentBuilder
Date Wed, 02 Jan 2013 23:10:15 GMT


Michael McCandless commented on LUCENE-4647:

This looks awesome Shai!

I like the new name (FacetFields.addFields(..)), and I like how
FacetFields is now stateless (ie you can use a single instance across
threads adding documents), and this is a great first step to make the
DocValues cutover easier.

> Simplify CategoryDocumentBuilder
> --------------------------------
>                 Key: LUCENE-4647
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>         Attachments: LUCENE-4647.patch
> CategoryDocumentBuilder is used to add facet fields to a document. Today the usage is
not so straightforward, and I'd like to simplify it. First, to improve usage but also to make
cutover to DocValues easier.
> This clsas does two operations: (1) adds drill-down terms and (2) creates the fulltree
payload. Today, since it does it all on terms, there's a hairy TokenStream which does both
these operations in one go. For simplicity, I'd like to break this into two steps:
> # Write a TokenStream which adds the drill-down terms
> #* For no associations, terms should be indexed w/ DOCS_ONLY (see LUCENE-4623).
> #* With associations, drill-down terms have payload too.
> #* So EnhancementsDocumentBuilder should be able to extend this stream.
> # Write some API which can be used to build the fulltree payload (i.e. populate a byte[]).
Currently that byte[] will be written to a payload and later to DV.
> Hopefully, I'd like to have FacetsDocumentBuilder (maybe just FacetsBuilder?) which only
handles things with no associations, and EnhancementsDocBuilder which extends whatever is
needed to add associations. 

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message