lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Høydahl (Commented) (JIRA) <>
Subject [jira] [Commented] (SOLR-2842) Re-factor UpdateChain and UpdateProcessor interfaces
Date Sun, 16 Oct 2011 18:10:11 GMT


Jan Høydahl commented on SOLR-2842:

bq. But the update processor should have access to SolrCore. I don't think this is something
we want to drop. You do want access to the Request object and the SolrCore, as you have now.
The UpdateRequestProcessorChain now depends on SolrCore for getting config from solrconfig.xml,
so we'd first need to separate updateChain config from solrconfig, e.g. through SOLR-2841
or similar. Although flexible to have "full access" for the Processors, it doesn't necessarily
give the best APIs. Most processors will only need access to the input document and request
params. In addition I think schema access for validating input and a resource loader to load
own config from file are good candidates for what to provide to Processors. The resource loader
on the client side could resolve resources locally, or even through the ZK loader.

The remaining 5% of processors which really need SolrCore (such as RunUpdateProcessor) should
implement SolrCoreAware, and UpdateChain should statically check and throw an exception if
any of these are attempted loaded in a context where SolrCore is null.
> Re-factor UpdateChain and UpdateProcessor interfaces
> ----------------------------------------------------
>                 Key: SOLR-2842
>                 URL:
>             Project: Solr
>          Issue Type: Improvement
>          Components: update
>            Reporter: Jan Høydahl
> The UpdateChain's main task is to send SolrInputDocuments through a chain of UpdateRequestProcessors
in order to transform them in some way and then (typically) indexing them.
> This generic "pipeline" concept would also be useful on the client side (SolrJ), so that
we could choose to do parts or all of the processing on the client. The most prominent use
case is extracting text (Tika) from large binary documents, residing on local storage on the
client(s). Streaming hundreds of Mb over to Solr for processing is not efficcient. See SOLR-1526.
> We're already implementing Tika as an UpdateProcessor in SOLR-1763, and what would be
more natural than reusing this - and any other processor - on the client side?
> However, for this to be possible, some interfaces need to change slightly..

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message