[ 
https://issues.apache.org/jira/browse/LUCENE-362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera closed LUCENE-362.
-----------------------------

    Resolution: Fixed
      Assignee:     (was: Lucene Developers)

Field already has ctor and setter which accept a byte[], offset and length, 
allowing you to reuse the byte[].

> [PATCH] Extension to binary Fields that allows fixed byte buffer
> ----------------------------------------------------------------
>
>                 Key: LUCENE-362
>                 URL: https://issues.apache.org/jira/browse/LUCENE-362
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: CVS Nightly - Specify date in submission
>         Environment: Operating System: All
> Platform: All
>            Reporter: Chuck Williams
>            Priority: Minor
>         Attachments: Field-extension.patch, Field-extension.patch, 
> FieldsWriter-extension.patch, FixedBufferBinaryFields.patch
>
>
> This is a very simple patch that supports storing binary values in the index
> more efficiently.  A new Field constructor accepts a length argument, 
> allowing a
> fixed byte[] to be reused acrossed multiple calls with arguments of different
> sizes.  A companion change to FieldsWriter uses this length when storing 
> and/or
> compressing the field.
> There is one remaining case in Document.  Intentionally, no direct accessor to
> the length of a binary field is provided from Document, only from Field.  This
> is because Field's created by FieldReader will never have a specified length 
> and
> this is usual case for Field's read from Document.  It seems less confusing 
> for
> most users.
> I don't believe any upward incompatibility is introduced here (e.g., from the
> possibility of getting a larger byte[] than actually holds the value from
> Document), since no such byte[] values are possible without this patch anyway.
> The compression case is still inefficient (much copying), but it is hard to 
> see
> how Lucene can do too much better.  However, the application can do the
> compression externally and pass in the reused compression-output buffer as a
> binary value (which is what I'm doing).  This represents a substantialy
> allocation savings for storing large documents bodies (compressed) into the
> Lucene index.
> Two patch files are attached, both created by svn on 3/17/05.

-- 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to