[
https://issues.apache.org/jira/browse/LUCENE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shai Erera updated LUCENE-4565:
-------------------------------
Attachment: LUCENE-4565.patch
Patch replaces ParentArray and ChildrenArrays by ParallelTaxonomyArrays. Most
of the changes are due to this API change, but nothing conceptually changed.
You still get 3 arrays for traversing the taxonomy tree, only now from one
object.
All tests pass.
Gilad, I chose ParallelTaxoArrays because in the end this object returns you
arrays and nothing else. The ParallelArrays name already exists in Lucene
(ParallelPostingArrays), and so I've followed the same convention.
If one day we'll change this object to provide service methods for getting
parent(i), child(i) and sibling(i), then a better name (like FamilyTree) might
be more adequate.
> Simplify TaxoReader ParentArray/ChildrenArrays
> ----------------------------------------------
>
> Key: LUCENE-4565
> URL: https://issues.apache.org/jira/browse/LUCENE-4565
> Project: Lucene - Core
> Issue Type: Improvement
> Components: modules/facet
> Reporter: Shai Erera
> Assignee: Shai Erera
> Priority: Minor
> Attachments: LUCENE-4565.patch
>
>
> TaxoReader exposes two structures which provide information about a
> categories parent/childs/siblings: ParentArray and ChildrenArrays.
> ChildrenArrays are derived (i.e. created) from ParentArray.
> I propose to consolidate all that into one API ParentInfo, or
> CategoryTreeInfo (a better name?) which will provide the same information,
> only from one object. So instead of making these calls:
> {code}
> int[] parents = taxoReader.getParentArray();
> int[] youngestChilds = taxoReader.getChildrenArrays().getYoungestChildArray();
> int[] olderSiblings = taxoReader.getChildrenArrays().getOlderSiblingArray();
> {code}
> one would make these calls:
> {code}
> int[] parents = taxoReader.getParentInfo().parents();
> int[] youngestChilds = taxoReader.getParentInfo().youngestChilds();
> int[] olderSiblings = taxoReader.getParentInfo().olderSiblings();
> {code}
> Not a big change, just consolidate more code into one logical place. All of
> these arrays will continue to be lazily allocated.
--
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: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]