lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-2649) FieldCache should include a BitSet for matching docs
Date Thu, 23 Sep 2010 19:16:34 GMT

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


Mime
View raw message