ScalaからSolr3.6に接続してみる
scalaからSolrに接続するように試してみた。まずはSolrjを直接使ってsolr3.6に接続してみようと、以下のようなコードを書いてみた。
package test { import org.apache.solr.client.solrj.impl.HttpSolrServer import org.apache.solr.common.params.ModifiableSolrParams object Main { def main(args: Array[String]): Unit = { println("hello") val server = new HttpSolrServer("http://localhost:8983/solr") var params = new ModifiableSolrParams params.set("q", "*") val response = server.query(params) println(response) } } }
さて、これを動かしてみようとするも、NoClassDefFoundErrorが発生してしまって動かない。
なぜだ?と思ったら、Solrj使うには同梱されているライブラリだけじゃなくてhttpclient(4系)が必要らしい。
Ubuntu系だとaptで入るようなのでaptで入れてみた。
$ sudo apt-get install libhttpclient-java $ sudo apt-get install libhttpmime-java
eclipseで試してたので、インストール後、ビルドパスに以下のjarファイルを追加。
- httpclient-4.1.1.jar
- httpcore-4.0.1.jar
- httpmime-4.1.1.jar
これでとりあえずはSolrからデータが取得できるようになったようだ。