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

Greg Miller commented on LUCENE-10468:
--------------------------------------

+1, I appreciate the field checking done by the DocValues factory methods. It 
only throws if the field exists but was indexed with a different type, which 
likely indicates a user-initiated error.

Note that you can always use lower-level access by loading doc values directly 
from a LeafReader if you have some special use-case, or you can load FieldInfos 
and check those yourself as well. I've seen a few use-cases where this is 
useful, primarily optimizing the {{null}} case.

> Do not always do checkField() in DocValues.getXXX(LeafReader, String)
> ---------------------------------------------------------------------
>
>                 Key: LUCENE-10468
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10468
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Lu Xugang
>            Priority: Trivial
>         Attachments: 1.png
>
>
> IndexQuery can always get an empty result when field in Query does not exist 
> or even it was indexed with different FieldType.
> But when doing DocValuesQuery and field in such query does not exist, if this 
> field was not indexed by any other FieldType, DocValues query's behavior is 
> as the same as IndexQuery, otherwise it will throw a exception, because 
> getting a DocValuesIterator always do DocValues#checkField(...).
> I mean checkFIeld(...) is not needed if only do getting a DocValuesIterator, 
> and the exception's content is not friendly, so we can keep 'query result 
> consistency'?
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to