[ https://issues.apache.org/jira/browse/LUCENE-8489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Namgyu Kim updated LUCENE-8489: ------------------------------- Attachment: LUCENE-8489.patch > Provide List type constructors for BaseCompositeReader based Readers > -------------------------------------------------------------------- > > Key: LUCENE-8489 > URL: https://issues.apache.org/jira/browse/LUCENE-8489 > Project: Lucene - Core > Issue Type: Improvement > Components: core/index > Reporter: Namgyu Kim > Priority: Major > Labels: usability > Attachments: LUCENE-8489.patch > > > Currently, Reader based on BaseCompositeReader(MultiReader, > ParallelCompositeReader, DirectoryReader) does not support List type > constructor. > In fact, this does not make a big difference in performance, but users will > think positively if the API supports more variants. > I will add the following to support this. > 1) MultiReader > {code:java} > public MultiReader(List<IndexReader> subReaders) throws IOException { > this(subReaders, true); > } > public MultiReader(List<IndexReader> subReaders, boolean closeSubReaders) > throws IOException { > this(subReaders.toArray(new IndexReader[0]), closeSubReaders); > } > {code} > 2) ParallelCompositeReader > {code:java} > public ParallelCompositeReader(List<CompositeReader> readers) throws > IOException { > this(true, readers); > } > public ParallelCompositeReader(boolean closeSubReaders, List<CompositeReader> > readers) throws IOException { > this(closeSubReaders, readers, readers); > } > public ParallelCompositeReader(boolean closeSubReaders, List<CompositeReader> > readers, List<CompositeReader> storedFieldReaders) throws IOException { > this(closeSubReaders, readers.toArray(new CompositeReader[0]), > storedFieldReaders.toArray(new CompositeReader[0])); > } > {code} > 3) DirectoryReader > {code:java} > protected DirectoryReader(Directory directory, List<LeafReader> > segmentReaders) throws IOException { > super(segmentReaders); > this.directory = directory; > } > {code} > 4) BaseCompositeReader > {code:java} > @SuppressWarnings("unchecked") > protected BaseCompositeReader(List<R> subReaders) throws IOException { > this(subReaders.toArray((R[]) new IndexReader[subReaders.size()])); > } > {code} > 5) Test > I wrote a test case in "TestParallelCompositeReader". > If you have any questions or requests, please left any comments :D -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org