lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Updated: (LUCENE-2380) Add FieldCache.getTermBytes, to load term data as byte[]
Date Tue, 18 May 2010 17:22:41 GMT


Michael McCandless updated LUCENE-2380:

    Attachment: LUCENE-2380.patch

Very rough first cut patch attached.

I removed getStrings and replaced it with getTerms (returns a BytesRef oriented getter API
for looking up the String from a doc).

And I removed getStringsIndex and replaced it with getTermsIndex.

All lucene tests pass with this hard cutover, but I still need to measure perf hit: I'm using
packed ints currently to hold the offsets, and 1 or 2 byte vInt prefix (Yonik's idea) to encode
the term's length.

I started to cutover Solr as well, and got some things cutover, but decided I should stop
and check if these changes make sense :)  So the Solr side of the patch does not yet compile.
 I specifically stopped when I got to StringIndexDocValues (abstract base class for lots of
others) -- I'd like to do a hard cutover of this class to use BytesRef, but does anyone see
a problem w/ that?  I'm at little nervous about how far "down" I'll end up having to push
the BytesRef... It is marked as "Internal class, subject to change" :)  I also dropped lots
of nocommits along the way on the Solr side... so if someone could have a look and make suggestions
that'd help :)

> Add FieldCache.getTermBytes, to load term data as byte[]
> --------------------------------------------------------
>                 Key: LUCENE-2380
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 4.0
>         Attachments: LUCENE-2380.patch
> With flex, a term is now an opaque byte[] (typically, utf8 encoded unicode string, but
not necessarily), so we need to push this up the search stack.
> FieldCache now has getStrings and getStringIndex; we need corresponding methods to load
terms as native byte[], since in general they may not be representable as String.  This should
be quite a bit more RAM efficient too, for US ascii content since each character would then
use 1 byte not 2.

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:
For additional commands, e-mail:

View raw message