[
https://issues.apache.org/jira/browse/LUCENE-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698214#action_12698214
]
Mark Miller commented on LUCENE-831:
------------------------------------
{quote}
I think the UninversionValueSource would accept a custom parser (String ->
native type), like what's done today.
Maybe it should also allow stopping the loop early (which Trie* uses), or
perhaps outright overriding of the inversion loop itself (which if we make that
class subclass-able should be simple).
{quote}
Its the accepting that seems tricky though. If the getInts() calls take the
parser, you have to use instanceof code to work with ValueSource. Thats why I
was thinking maybe callbacks - if a new type is added you just add a new one
returning a default parser. Then you can just extend and replace the parsers
you want to. I wasn't a big fan of that idea, but I am not sure of a nice,
clean, extensible way to specify a bunch of parsers to UninversionValueSource
that allows the API to cleanly be used from ValueSource. It already kind of
seemed annoying that you would have to set a new ValueSource on the reader just
to specify different parsers. I guess at least that has to be accepted though.
> Complete overhaul of FieldCache API/Implementation
> --------------------------------------------------
>
> Key: LUCENE-831
> URL: https://issues.apache.org/jira/browse/LUCENE-831
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Search
> Reporter: Hoss Man
> Assignee: Mark Miller
> Fix For: 3.0
>
> Attachments: ExtendedDocument.java, fieldcache-overhaul.032208.diff,
> fieldcache-overhaul.diff, fieldcache-overhaul.diff,
> LUCENE-831.03.28.2008.diff, LUCENE-831.03.30.2008.diff,
> LUCENE-831.03.31.2008.diff, LUCENE-831.patch, LUCENE-831.patch,
> LUCENE-831.patch, LUCENE-831.patch, LUCENE-831.patch, LUCENE-831.patch,
> LUCENE-831.patch
>
>
> Motivation:
> 1) Complete overhaul the API/implementation of "FieldCache" type things...
> a) eliminate global static map keyed on IndexReader (thus
> eliminating synch block between completley independent IndexReaders)
> b) allow more customization of cache management (ie: use
> expiration/replacement strategies, disk backed caches, etc)
> c) allow people to define custom cache data logic (ie: custom
> parsers, complex datatypes, etc... anything tied to a reader)
> d) allow people to inspect what's in a cache (list of CacheKeys) for
> an IndexReader so a new IndexReader can be likewise warmed.
> e) Lend support for smarter cache management if/when
> IndexReader.reopen is added (merging of cached data from subReaders).
> 2) Provide backwards compatibility to support existing FieldCache API with
> the new implementation, so there is no redundent caching as client code
> migrades to new API.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]