[
https://issues.apache.org/jira/browse/LUCENE-3360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079290#comment-13079290
]
Martijn van Groningen commented on LUCENE-3360:
-----------------------------------------------
Good idea. Backporting this to Lucene 3.x seems like a good plan if we make a
fake FieldCache.DEFAULT impl that delgates to IR.
Yes, we should reuse the fieldcache in case of a reopen. I see that
reopenSegement just instantiates a new SegmentReader instance, so we can just
pass the existing FieldCache instance to the new SegementReader instance.
> Move FieldCache to IndexReader
> ------------------------------
>
> Key: LUCENE-3360
> URL: https://issues.apache.org/jira/browse/LUCENE-3360
> Project: Lucene - Java
> Issue Type: Improvement
> Reporter: Martijn van Groningen
> Fix For: 3.4, 4.0
>
>
> Move the static FieldCache.DEFAULT field instance to atomic IndexReaders, so
> that FieldCache insanity caused by the WeakHashMap no longer occurs.
> * Add a new method to IndexReader that by default throws an UOE:
> {code}public FieldCache getFieldCache(){code}
> * The SegmentReader implements this method and returns its own internal
> FieldCache implementation. This implementation just uses a
> HashMap<Entry<T>,Object>> to store entries.
> * The SlowMultiReaderWrapper implements this method as well and basically
> behaves the same as the current FieldCacheImpl.
> This issue won't solve the insanity that comes from inconsistent usage of a
> single field (for example retrieve both int[] and DocTermIndex for the same
> field).
--
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]