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

Michael McCandless commented on LUCENE-1219:
--------------------------------------------

Eks, could we instead add this to Field:

  byte[] binaryValue(byte[] result)

and then default the current binaryValue() to just call binaryValue(null)?

And similar in Document add:

  byte[] getBinaryValue(String name, byte[] result)

These would work the same way that TokenStream.next(Token result) works, ie, 
the method should try to use the result passed in, if it works, and return 
that; else it's free to allocate its own new byte[] and return it?

And then only LazyField's implementation of binaryValue(byte[] result) would 
use byte[] result if it's large enough?

Also ... it'd be nice to have a way to do this re-use in the non-lazy case.  Ie 
somehow load a stored doc, but passing in your own Document result which would 
attempt to re-use the Field instances & byte[] for the binary fields.  But we 
should open another issue to explore that...

> support array/offset/ length setters for Field with binary data
> ---------------------------------------------------------------
>
>                 Key: LUCENE-1219
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1219
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Eks Dev
>            Assignee: Michael McCandless
>            Priority: Minor
>         Attachments: LUCENE-1219.extended.patch, LUCENE-1219.patch, 
> LUCENE-1219.patch, LUCENE-1219.patch, LUCENE-1219.patch, 
> LUCENE-1219.take2.patch, LUCENE-1219.take3.patch
>
>
> currently Field/Fieldable interface supports only compact, zero based byte 
> arrays. This forces end users to create and copy content of new objects 
> before passing them to Lucene as such fields are often of variable size. 
> Depending on use case, this can bring far from negligible  performance  
> improvement. 
> this approach extends Fieldable interface with 3 new methods   
> getOffset(); gettLenght(); and getBinaryValue() (this only returns reference 
> to the array)
>    

-- 
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