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

Alan Woodward updated LUCENE-8042:
----------------------------------
    Attachment: LUCENE-8042.patch

This patch should simplify things a bit for implementers.  Instead of directly 
exposing IndexReader.CacheHelper, getCacheHelper(LeafReaderContext) is now 
moved to an inner CacheLevel class.  SegmentCachable declares a single 
getCacheLevel() method, and implementers can return one of the following:

* CacheLevel.SEGMENT for stuff that's always cachable
* CacheLevel.DOCVALUES(field) for things using docvalues
* CacheLevel.NEVER for stuff that's never cachable

Retrieving CacheHelpers and comparing different levels of cache is all done 
within the CacheHelper class itself.

> Add SegmentCachable interface
> -----------------------------
>
>                 Key: LUCENE-8042
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8042
>             Project: Lucene - Core
>          Issue Type: New Feature
>            Reporter: Alan Woodward
>         Attachments: LUCENE-8042.patch, LUCENE-8042.patch
>
>
> Following LUCENE-8017, I tried to add a getCacheHelper(LeafReaderContext) 
> method to DoubleValuesSource so that Weights that use DVS can delegate on.  
> This ended up with the same method being added to LongValuesSource, and some 
> of the similar objects in spatial-extras.  I think it makes sense to abstract 
> this out into a separate SegmentCachable interface.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to