You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Robert Muir (Jira)" <ji...@apache.org> on 2020/02/21 00:48:00 UTC
[jira] [Commented] (LUCENE-9236) Having a modular Doc Values format
[ https://issues.apache.org/jira/browse/LUCENE-9236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17041404#comment-17041404 ]
Robert Muir commented on LUCENE-9236:
-------------------------------------
the perfielddocvaluesformat (implemented by the default codec) provides enough abstractions already such that fields format can be trivially customized. i dont think we need any more abstractions, in fact the opposite, we desperately need less of them.
> Having a modular Doc Values format
> ----------------------------------
>
> Key: LUCENE-9236
> URL: https://issues.apache.org/jira/browse/LUCENE-9236
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/index
> Reporter: juan camilo rodriguez duran
> Priority: Minor
> Labels: docValues
>
> Today DocValues Consumer/Producer require override 5 different methods, even if you only want to use one and given that one given field can only support one doc values type at same time.
>
> In the attached PR I’ve implemented a new modular version of those classes (consumer/producer) each one having a single responsibility and writing in the same unique file.
> This is mainly a refactor of the existing format opening the possibility to override or implement the sub-format you need.
>
> I’ll do in 3 steps:
> # Create a CompositeDocValuesFormat and moving the code of Lucene80DocValuesFormat in separate classes, without modifying the inner code. At same time I created a Lucene85CompositeDocValuesFormat based on these changes.
> # I’ll introduce some basic components for writing doc values in general such as:
> ## DocumentIdSetIterator Serializer: used in each type of field based on an IndexedDISI.
> ## Document Ordinals Serializer: Used in Sorted and SortedSet for deduplicate values using a dictionary.
> ## Document Boundaries Serializer (optional used only for multivalued fields: SortedNumeric and SortedSet)
> ## TermsEnum Serializer: useful to write and read the terms dictionary for sorted and sorted set doc values.
> # I’ll create the new Sub-DocValues format using the previous components.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org