String.intern() calls slow down IndexWriter.close() and IndexReader.open() for 
index with large number of unique field names
----------------------------------------------------------------------------------------------------------------------------

                 Key: LUCENE-3105
                 URL: https://issues.apache.org/jira/browse/LUCENE-3105
             Project: Lucene - Java
          Issue Type: Bug
          Components: core/index
    Affects Versions: 3.1
            Reporter: Mark Kristensson


We have one index with several hundred thousand unqiue field names (we're 
optimistic that Lucene 4.0 is flexible enough to allow us to change our index 
design...) and found that opening an index writer and closing an index reader 
results in horribly slow performance on that one index. I have isolated the 
problem down to the calls to String.intern() that are used to allow for quick 
string comparisons of field names throughout Lucene. These String.intern() 
calls are unnecessary and can be replaced with a hashmap lookup. In fact, 
StringHelper.java has its own hashmap implementation that it uses in 
conjunction with String.intern(). Rather than using a one-off hashmap, I've 
elected to use a ConcurrentHashMap in this patch.

--
This message is automatically generated by JIRA.
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