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

Yonik Seeley commented on LUCENE-1483:
--------------------------------------

bq. If it's not present, it must fall between ord X and X+1 so assign it an ord 
of X+0.5.

I went down this thought path in the past... float doesn't have the precision, 
double might, could use long and left shift to make space for "inbetween", etc.

One problem is that putting an ord "inbetween" isn't good enough since you may 
be mapping many values.  At that point, one starts wondering if it's worth 
getting an ord, and what is solved or optimized by using ords.

Why are ords useful:
 (a) fast comparison when reordering the priority queue (insertion/removal of 
items)
 (b) fast comparison to determine if something should be inserted into the 
priority queue
 (c) other (non sorting) usage, using term numbers instead of term values.

Using ords for (a) seems expensive, as all ords in the queue must be translated.
Using ords for (b) means calculating an ord only for the smallest element of 
the priority queue.

When doing a large search with a diverse set of keys to sort by, there are many 
more checks to see if an item should be inserted into the queue than are 
actually inserted.  Also, when using an ord for (b), it doesn't have to be 
exact - it can be rounded since it's purpose isn't an exact comparison, but 
just an optimization to determine if insertion into the priority queue can be 
skipped.


> Change IndexSearcher to use MultiSearcher semantics for multiple subreaders
> ---------------------------------------------------------------------------
>
>                 Key: LUCENE-1483
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1483
>             Project: Lucene - Java
>          Issue Type: Improvement
>    Affects Versions: 2.9
>            Reporter: Mark Miller
>            Priority: Minor
>         Attachments: LUCENE-1483.patch, LUCENE-1483.patch, LUCENE-1483.patch, 
> LUCENE-1483.patch, LUCENE-1483.patch, LUCENE-1483.patch, LUCENE-1483.patch, 
> LUCENE-1483.patch, LUCENE-1483.patch, LUCENE-1483.patch, LUCENE-1483.patch
>
>
> FieldCache and Filters are forced down to a single segment reader, allowing 
> for individual segment reloading on reopen.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to