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

Uwe Schindler commented on LUCENE-2649:
---------------------------------------

+1

Maybe we should also look at CSF again and what Simon did (LUCENE-2186). In my 
opinion, the field cache's public API should not look different from CSF, so 
one can simply also sort against a CSF.

I know, some people here will hurt me if I suggest to remove tha native arrays 
and instead provide getter methods like in the ValueSource approach. The native 
arrays are unflexible and Java 6 will hopefully optimize away the additional 
method call (at least I have seen no speed penalty when trying with CSF's 
getter API). Cool things could be done like materializing the FieldCache to 
disk using mmap by e.g. 
FileChannel.map(...).order(ByteOrder.BIG_ENDIAN).asFloatBuffer() which is then 
accessible using get(docId). I tested this and works very fine for sorting in 
Lucene! Java uses internally source code specialization to return different 
classes depending on native byte order that access the underlying ByteBuffer 
directly (not manually combining 4 bytes into a float). So the get(docId) call 
is only bounds checks and *one* mmaped memory access.

> FieldCache should include a BitSet for matching docs
> ----------------------------------------------------
>
>                 Key: LUCENE-2649
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2649
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Ryan McKinley
>             Fix For: 4.0
>
>         Attachments: LUCENE-2649-FieldCacheWithBitSet.patch, 
> LUCENE-2649-FieldCacheWithBitSet.patch, 
> LUCENE-2649-FieldCacheWithBitSet.patch, 
> LUCENE-2649-FieldCacheWithBitSet.patch, LUCENE-2649-FieldCacheWithBitSet.patch
>
>
> The FieldCache returns an array representing the values for each doc.  
> However there is no way to know if the doc actually has a value.
> This should be changed to return an object representing the values *and* a 
> BitSet for all valid docs.

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

Reply via email to