読者です 読者をやめる 読者になる 読者になる

よしだのブログ

サブタイトルはありません。

Solr 開発環境構築手順

IT、プログラミング Solr 検索エンジン

よしだです。今日は Solr のパッチを作ったり機能追加をするために必要な開発環境の構築手順を公開してみたいと思います。subversion からのチェックアウトからeclipseの環境構築までをカバーします。

前提条件

  • 以下のソフトウェアは導入、設定済みとします。

java 8

$java-version
javaversion"1.8.0_51"
Java(TM)SERuntimeEnvironment(build1.8.0_51-b16)
JavaHotSpot(TM)64-BitServerVM(build25.51-b03,mixedmode)

ant

$ant-version
ApacheAnt(TM)version1.9.3compiledonDecember232013

svn

$svn--version
svn,version1.8.8(r1568071)
 compiledMar292014,20:04:07onx86_64-apple-darwin13.1.0

事前準備、フォルダの作成

$ cd /
$ mkdir app
$ sudo chown me:staff app
$ mkdir app/solr

チェックアウト

SVN は以下のページを参考に、アノニマス(読み取り専用)のURLを指定します。

http://lucene.apache.org/solr/resources.html

ポイントは、チェックアウト元のURLを dev ではなく、dev/trunk にすること。公式サイトでは dev までになっていますが、そのままでは branch 等含まれるのでひどく時間がかかりますし、全ては不要だと思いますので、ご注意ください。

$ svn checkout http://svn.apache.org/repos/asf/lucene/dev/trunk/solr

コンパイル

$ cd solr
$ ant ivy-bootstrap
$ ant compile

server を作成

server をビルドして、動作確認します。server をビルドすると、設定ファイル等を含む、Solr が配布されている状態にビルドされますので、そのまま動作確認が可能な状態になります。

以下の cd 後のパスが、ちょっとわかりにくですが、/app/solr/solr となります。

$ cd solr
$ ant server

Solr の起動

以下のコマンドを実行すると、Solr がバックグラウンドで起動します。停止は bin/solr stop 。

$ bin/solr start

eclipse で開発できるようにする

eclipse にインポートができるように、設定ファイルを生成します。

参考: https://wiki.apache.org/solr/HowToContribute#Notes_for_Eclipse

$ cd ../
$ ant eclipse

その後、eclipse から /app/solr を既存のプロジェクトとしてインポートする。インポート時に、「コピーする」からチェックを外すことを忘れないこと。

※ ちなみに eclipse の subversion プラグインは、subclipse がおすすめ。subclipse では .svn フォルダを見つけると、自動的に subversion で管理されているプロジェクトとしてひも付けてくれる。subclipse を使えば上記手順後、eclipse で subversion の比較など操作ができるようになる。subversion プラグインで有名ドコロのもう一つ、subversive では、できません。

おわりに

Solr や OSS のコードを読みたい、パッチを書いてみたい、機能を追加してみたいと思っても、しょっぱなの環境構築で躓くことって結構あると思います。Solr について書いてみましたが、他の OSS でも似たような手順だと思うので、色々と参考になると思いました。(apache の svn ではなく Github だとまたちょっと違うのですが、まあ似たようなもんですw )

おまけ : start.jar で起動したい

古い Solr では、起動するときに start.jar を直接呼んでいたのですが、バージョン 5 からは標準的には bin/solr というスクリプトが導入され、bin/solr start で起動するようになっています。旧バージョンの起動方法 java -jar start.jar だけでは起動しないようになっています。だたし、以下のようにオプションをつけると起動します。

java -jar start.jar --module=http

この方法だと、コンソールにログが出てくるので、特に tail の無い windows では開発に便利ですよね。

参考書籍

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

  • 作者: 大谷純,阿部慎一朗,大須賀稔,北野太郎,鈴木教嗣,平賀一昭,株式会社リクルートテクノロジーズ,株式会社ロンウイット
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/11/29
  • メディア: 大型本
  • この商品を含むブログ (8件) を見る

Solr 5: Troubleshooting and Maintenance

Solr 5: Troubleshooting and Maintenance