[
https://issues.apache.org/jira/browse/LUCENE-7828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16012012#comment-16012012
]
Adrien Grand commented on LUCENE-7828:
--------------------------------------
Why does the node return {{CELL_CROSSES_QUERY}} if all values from the block
match the range? It should return {{CELL_INSIDE_QUERY}} and then call
{{visit(int docID)}} rather than {{void visit(int docID, byte[] packedValue)}}?
> Improve PointValues visitor calls when all docs in a leaf share a value
> -----------------------------------------------------------------------
>
> Key: LUCENE-7828
> URL: https://issues.apache.org/jira/browse/LUCENE-7828
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Alan Woodward
>
> When all the docs in a leaf node have the same value, range queries can waste
> a lot of processing if the node itself returns CELL_CROSSES_QUERY when
> compare() is called, in effect performing the same calculation in visit(int,
> byte[]) over and over again. In the case I'm looking at (very low
> cardinality indexed LongRange fields), this causes something of a perfect
> storm for performance. PointValues can detect up front if a given node has a
> single value (because it's min value and max value will be equal), so this
> case should be fairly simple to identify and shortcut.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]