Apache Solrのデータインポートハンドラ
すっかりやり方を忘れてしまっていたので記録しておく。
まず、solrconfig.xmlに以下の記述を追加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">dataconfig.xml</str> </lst> </requestHandler>
次にsolrconfig.xmlと同じ場所にdataconfig.xmlを作成。
今回はexamples-DIHディレクトリ内に入っていたrss-data-config.xmlの内容をコピー
<dataConfig> <dataSource type="HttpDataSource" /> <document> <entity name="slashdot" pk="link" url="http://rss.slashdot.org/Slashdot/slashdot" processor="XPathEntityProcessor" forEach="/RDF/channel | /RDF/item" transformer="DateFormatTransformer"> <field column="source" xpath="/RDF/channel/title" commonField="true" /> <field column="source-link" xpath="/RDF/channel/link" commonField="true" /> <field column="subject" xpath="/RDF/channel/subject" commonField="true" /> <field column="title" xpath="/RDF/item/title" /> <field column="link" xpath="/RDF/item/link" /> <field column="description" xpath="/RDF/item/description" /> <field column="creator" xpath="/RDF/item/creator" /> <field column="item-subject" xpath="/RDF/item/subject" /> <field column="date" xpath="/RDF/item/date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss" /> <field column="slash-department" xpath="/RDF/item/department" /> <field column="slash-section" xpath="/RDF/item/section" /> <field column="slash-comments" xpath="/RDF/item/comments" /> </entity> </document> </dataConfig>
カラムがおそらく既存のスキーマと合わない筈なので
そのあたりを適宜修正。
その後Solr再起動後に
http://localhost:????/solr/admin/dataimport.jspにアクセス。
ひとまずこれでWeb画面からのアクセスはできるようになる。