土曜日, 9月 06, 2008

[Solr] DataImportHandler

Solrのv1.3がそろそろ公開されるか、という段階。で、そのお試しをしている中で、注目なのがDataImportHandler
データベースからSolrへのデータフィードを簡単にしようというところから始まったようだが、例題にあるようにHTTP経由でのデータ取込みがサポートされており、、、これをうまく拡張利用すれば簡単なロボット機能が作れそう(HTMLタグの削除は簡単そうだし)。

RSSの例題を試すまでの手順をメモ。
・Solr本体をダウンロードして展開(今はRC2)
・例題用のSchema.xmlなどが入ったexample/example-DIHがあることを確認
・Solr本体のexample/conf以下に、example-DIHディレクトリ内のrss/以下をコピー(上書き)
・exampleのところで"java -jar start.jar"
・(稼動確認)ブラウザから"http://xxx:8983/solr/dataimport"にアクセス
・(取込指示)ブラウザから"http://xxx:8983/solr/dataimport?command=full-import"にアクセス
・(動作確認)ブラウザから"http://xxx:8983/solr/dataimport"にアクセス(statusMessagesが追加されてるハズ)
・(結果確認)ブラウザから"http://xxx:8983/solr/select/?q=NASA&version=2.2&start=0&rows=10&indent=on&hl=on&hl.fl=description"にアクセス(このときNASAで検索した)
・ちなみにdelta-importとすると差分更新ができるみたい

仕組みの絵もWikiにありますがかなり考えられたつくりで、


transformerというのを指定すると、例えばDBなりWebから取り込んだデータを、よしなに加工してからSolrにフィードすることができ、そしてこのtransformerに指定する関数は、、1.6系のJavaであればJavascriptなど、別な言語が使えるそうです。至れり尽くせり。