lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mikhail Khludnev <mkhlud...@griddynamics.com>
Subject more granular updateRequestProcessorChain
Date Wed, 17 Aug 2011 07:51:39 GMT
Hello,

I need to implement some tricky copyField like in
http://wiki.apache.org/solr/UpdateRequestProcessor.
But I need to take the SolrInputDocument field and put it into Lucene
document myself by my own UpdateRequestProcessor. Unfortunately there is no
room to do that because the creating Lucene document and its' indexing it is
the single method:

org.apache.solr.update.processor.RunUpdateProcessor.processAdd(AddUpdateCommand)
 {
    cmd.doc = DocumentBuilder.toDocument(cmd.getSolrInputDocument(),
req.getSchema());
    updateHandler.addDoc(cmd);
    super.processAdd(cmd);
  }

I was surprised because the Chain-of-responsibility and Command pattern are
made for such usages.

I propose to separate the current RunUpdateProcessor onto
BuildLuceneDocumentProcessor and UpdateHandlerProcessor that allow users to
inject their own routines in the main flow.
Right now I had to copy-paste RunUpdateProcessor to get my purpose.

WDYT?

-- 
Sincerely yours
Mikhail (Mike) Khludnev
Developer
Grid Dynamics
Skype: mkhludnev
<mkhludnev@griddynamics.com>

Mime
View raw message