You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2013/03/05 01:05:13 UTC

[jira] [Comment Edited] (LUCENE-4694) Add back IndexReader.fields() -> Multi*, or discourage term vectors in some better way

    [ https://issues.apache.org/jira/browse/LUCENE-4694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13592819#comment-13592819 ] 

Uwe Schindler edited comment on LUCENE-4694 at 3/5/13 12:03 AM:
----------------------------------------------------------------

Mike: If you really, really want to move it up:
- Make fields() abstract in IndexReader, only add the final methods that delegate to the abstract one
- leave fields() abstract in AtomicReader and CompositeReader, too
- add the MultiFields implementation into BaseCompositeReader -> and only there (maybe final)
- the javadocs with warning are only in CompositeReader

The current patch is as worse as IndexReader before the split into composite/atomic! IndexReader is an abstract class without concrete implementations. The final methods only delegate to abstract methods, so they are no "implementations".

But I don't like the whole thing in general. Just because few users are doing those thing, we should never ever expose postings on composite readers. In my opinion, the term vectors should simply go away?

Stored fields with the binary search are only there to make "result display" possible. Maybe we should remove stored fields from IndexReader base class, too. Instead stored field are only accessible through IndexSearcher (which delegates using its reader contexts)?
                
      was (Author: thetaphi):
    Mike: If you really, really want to move it up:
- Make fields() abstract in IndexReader, only add the final methods that delegate to the abstract one
- leave fields() abstract in AtomicReader and CompositeReader, too
- add the MultiFields implementation into BaseCompositeReader -> and only there (maybe final)

The current patch is as worse as IndexReader before the split into composite/atomic! IndexReader is an abstract class without concrete implementations. The final methods only delegate to abstract methods, so they are no "implementations".
                  
> Add back IndexReader.fields() -> Multi*, or discourage term vectors in some better way
> --------------------------------------------------------------------------------------
>
>                 Key: LUCENE-4694
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4694
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>         Attachments: LUCENE-4694.patch
>
>
> Users can easily get term vectors from any indexreader, but not postings lists. this encourages them to do really slow things: like pulling term vectors for every single document.
> this is really really so much worse than going through multifields or whatever. 

--
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org