[ https://issues.apache.org/jira/browse/SOLR-269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yonik Seeley updated SOLR-269: ------------------------------ Attachment: UpdateProcessor.patch OK, this patch adds the ability to specify multiple processor factories. Summary: - decoupled changing the index from logging... I think it makes it much clearer how things work (there was much more logging code than anything else). This also would allow Ryan to add back his incremental timing to a different processor. - added SolrInputDocument to AddUpdateCommand, and added some methods - removed NamedList return from the XML update handler and started passing SolrQueryResponse around instead (this is more future-proof and flexible) - removed adding all the ids to the response... (back to 1.2 response format). We probably shouldn't add ids by default... think of CSV uploading millions of records, etc. - An array of factories is kept, and when a processor is instantiated, it is passed a "next" pointer. An alternative would be to expose a "next factory" pointer to every factory (any advantage to having the current factory call getInstance() on the next factory instead of us doing that?) - untested support for basic syntax to support multiple update processors: <lst name="update.processor> <str name="factory">org.apache.solr....</str> <lst name="args">...</lst> > UpdateRequestProcessorFactory - process requests before submitting them > ----------------------------------------------------------------------- > > Key: SOLR-269 > URL: https://issues.apache.org/jira/browse/SOLR-269 > Project: Solr > Issue Type: New Feature > Reporter: Ryan McKinley > Assignee: Ryan McKinley > Fix For: 1.3 > > Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, > UpdateProcessor.patch > > > A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. > An UpdateRequestProcessor lets clients plug in logic after a document has > been parsed and before it has been 'updated' with the index. This is a good > place to add custom logic for: > * transforming the document fields > * fine grained authorization (can user X updated document Y?) > * allow update, but not delete (by query?) > <requestHandler name="/update" class="solr.StaxUpdateRequestHandler" > > <str > name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor</str> > <lst name="update.processor.args"> > ... (optionally pass in arguments to the factory init method) ... > </lst> > </requestHandler> > http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.