1. Jython のインストール
Jython の スタンドアローン版を下記からダウンロード
http://www.jython.org/downloads.html
sudo mkdir /var/solr/data/コア名/lib sudo cp jython-standalone-2.7.0.jar /var/solr/data/コア名/lib sudo /etc/init.d/solr restart <- Solr 再起動
2. solrconfig.xml の変更
拡張子.jyは使えない
<initParams path="/update/**"> <lst name="defaults"> <!-- str name="update.chain">add-unknown-fields-to-the-schema</str --> <str name="update.chain">script</str> </lst> </initParams> <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のログファイルにメッセージが出力される
デフォルトでは /var/solr/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")