Separately from this, I'm playing with an ExternalDocValuesFilterReader that 
takes a list of abstract ExternalDocValuesProviders, as a kind of 
generalisation of FileFloatSource.  It's a bit rough at the moment, and it's 
for a lucene application rather than for Solr, but it could work as a 
replacement for ExternalFileField with appropriate factories - I'll open a JIRA 
and put up a patch once it does anything useful.

Alan Woodward
www.flax.co.uk


On 26 Mar 2013, at 10:02, Alan Woodward wrote:

> I've opened https://issues.apache.org/jira/browse/LUCENE-4883 as a start.
> 
> Alan Woodward
> www.flax.co.uk
> 
> 
> On 26 Mar 2013, at 00:51, Robert Muir wrote:
> 
>> I don't think codec would be where you'd plugin for a filterreader that 
>> exposes external data as fake fields. That's because its all about what 
>> encoding indexwriter uses to write. I think solr has an indexreaderfactory 
>> if you want to e.g. wrap readers with filteratomicreaders.
>> 
>> On Mar 25, 2013 2:30 PM, "David Smiley (@MITRE.org)" <dsmi...@mitre.org> 
>> wrote:
>> Interesting conversation. So if hypothetically Solr's FileFloatSource /
>> ExternalFileField didn't yet exist and we were instead talking about how to
>> implement such a thing on the latest 4.x code, then how basically might it
>> work?  I can see how to implement a Solr CodecFactory ( a SchemaAware one) ,
>> then a DocValuesProducer.  The CodecFactory implements
>> NamedInitializedPlugin and can thus get its config info that way.  That's
>> one approach.  But it's not clear to me where one would wrap AtomicReader
>> with FilterAtomicReader to use that approach.
>> 
>> ~ David
>> 
>> 
>> Robert Muir wrote
>> > On Sat, Mar 23, 2013 at 7:25 AM, Alan Woodward &lt;
>> 
>> > alan@.co
>> 
>> > &gt; wrote:
>> >>> I think instead FieldCache should actually be completely package
>> >>> private and hidden behind a UninvertingFilterReader and accessible via
>> >>> the existing AtomicReader docValues methods.
>> >>
>> >> Aha, right, because SegmentCoreReaders already caches XXXDocValues
>> >> instances (without using WeakReferences or anything like that).
>> >>
>> >> I should explain my motivation here.  I want to store various scoring
>> >> factors externally to Lucene, but make them available via a ValueSource
>> >> to CustomScoreQueries - essentially a generalisation of FileFloatSource
>> >> to any external data source.  FFS already has a bunch of code copied from
>> >> FieldCache, which was why my first thought was to open it up a bit and
>> >> extend it, rather than copy and paste again.
>> >>
>> >> But it sounds as though a nicer way of doing this would be to create a
>> >> new DocValuesProducer that talks to the external data source, and then
>> >> access it through the AR docValues methods.  Does that sound plausible?
>> >> Is SPI going to make it difficult to pass parameters to a custom
>> >> DVProducer (data location, host/port, other DV fields to use as primary
>> >> key lookups, etc)?
>> >>
>> >
>> > its not involved if you implement via FilterAtomicReader. its only
>> > involved for reading things that are actually written into the index.
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail:
>> 
>> > dev-unsubscribe@.apache
>> 
>> > For additional commands, e-mail:
>> 
>> > dev-help@.apache
>> 
>> 
>> 
>> 
>> 
>> -----
>>  Author: http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
>> --
>> View this message in context: 
>> http://lucene.472066.n3.nabble.com/Opening-up-FieldCacheImpl-tp4050537p4051217.html
>> Sent from the Lucene - Java Developer mailing list archive at Nabble.com.
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>> 
> 

Reply via email to