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

Uwe Schindler updated LUCENE-4317:
----------------------------------

    Attachment: LUCENE-4317.patch

Patch:
- Streamlines handling of NumericTokenStreanm and a new internal 
StringTokenStream. Previous code was not easy to read.
- Reuse of both (of course, not accross field instances). This improves the 
performance of reused Field instances enormous, as creating a new TokenStream 
for each small String is heavy (2 LinkedHashMaps, addition of attributes,...)

We should maybe think about a solution how to "cache" the instances across 
several instances (like IndexWriter did in 3.x). I was thinking about a 
singleton Analyzer...

For now this patch helps a lot.
                
> Field.java does not reuse its inlined Keyword-TokenStream
> ---------------------------------------------------------
>
>                 Key: LUCENE-4317
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4317
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>    Affects Versions: 4.0-BETA
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 5.0, 4.0
>
>         Attachments: LUCENE-4317.patch
>
>
> Field.java contains a inlined Keyword-TokenStream. Unfortunately this one is 
> recreated all the time, although one reuses the same Field instance. For 
> NumericTokenStream Field.java reuses it, but the Keyword one not.
> We should apply the same logic and lazy init the TokenStream with a setter 
> for the String value and reset(). This would be looking identical to 
> SetNumeric(xx).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to