1. Jython のインストール
Jython の スタンドアローン版を下記からダウンロードして
http://www.jython.org/downloads.html
example/solr/collection1/lib に置く
$ls example/solr/collection1/lib jython-standalone-2.7.0.jar
2. solrconfig.xml の変更
<requestHandler name="/update" class="solr.UpdateRequestHandler"> <lst name="defaults"> <str name="update.chain">script</str> </lst> </requestHandler> <updateRequestProcessorChain name="script"> <processor class="solr.StatelessScriptUpdateProcessorFactory"> <str name="script">update-script.py</str> </processor> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain>
3. update-script.py を書く
下の例だとSolrのログファイルにメッセージが出力される
デフォルトでは example/logs/solr.log
def processAdd(cmd): doc = cmd.solrDoc id = doc.getFieldValue("id") logger.info("update-script#processAdd: id=" + id) def processDelete(cmd): logger.info("update-script#processDelete") def processMergeIndexes(cmd): logger.info("update-script#processMergeIndexes") def processCommit(cmd): logger.info("update-script#processCommit") def processRollback(cmd): logger.info("update-script#processRollback") def finish(): logger.info("update-script#finish")