lazily create SegmentMergeInfo.docMap
-------------------------------------
Key: LUCENE-454
URL: http://issues.apache.org/jira/browse/LUCENE-454
Project: Lucene - Java
Type: Improvement
Versions: CVS Nightly - Specify date in submission
Reporter: Yonik Seeley
Since creating the docMap is expensive, and it's only used during segment
merging, not searching, defer creation until it is requested.
SegmentMergeInfo is also used in MultiTermEnum, the term enumerator for a
MultiReader. TermEnum is used by queries such as PrefixQuery, RangeQuery,
WildcardQuery, as well as RangeFilter, DateFilter, and sorting the first time
(filling the FieldCache).
Performance Results:
A simple single field index with 555,555 documents, and 1000 random deletions
was queried 1000 times with a PrefixQuery matching a single document.
Performance Before Patch:
indexing time = 121,656 ms
querying time = 58,812 ms
Performance After Patch:
indexing time = 121,000 ms
querying time = 598 ms
A 100 fold increase in query performance!
All lucene unit tests pass.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.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]