【開発環境】【検索】ローカル環境にApach Solr入れてみた。
今回は前提が多いです。。。
前提条件
・Gem fileに以下を追記変更済み
「gem 'sunspot_rails'」
「gem 'sunspot_solr'」
・bundle install 実行済み
・Apach Solr側にインデックスを貼るソースをRailsアプリ側で作成済み
・g08m11の箇所は任意なので適宜、読み替えてください。
・javaがインストール済み
2・ファイルを解凍する
unzip solr-4.3.1.zip
3・新規ディレクトリを作成
solr-4.3.1/example/solr/collection1をコピーし
新規ディレクトリ(ここではg08m11)を作成
(以降、カレントディレクトリはsolr-4.3.1/example)
cp -r ./solr/collection1 ./solr/g08m11
railsアプリとインデックスを貼るため、dataは削除
rm -r ./solr/g08m11/data
4・XMLの内容を変更する_1
(デフォルトでは長めのコメントがありますが混乱を招くので削除し、
下記内容のみにした方が良いです・)
vi ./solr/solr.xml <?xml version="1.0" encoding="UTF-8" ?><solr persistent="true"> <cores defaultCoreName="collection1" host="${host:}"adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}"hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}"> <core loadOnStartup="true" instanceDir="collection1/"transient="false" name="collection1" collection="collection1"/> <core loadOnStartup="true" instanceDir="g08m11/"transient="false" name="g08m11" collection="g08m11"/> </cores> </solr>
5・XMLの内容を変更する_2
solr/g08m11/conf/schema.xmlを
「https://raw.github.com/sunspot/sunspot/master/sunspot_solr/solr/solr/conf/schema.xml」
の内容で上書きする。
8・indexを貼付けるためのコマンドを実行
bundle exec rails runner "G08m11.solr_index"
インデックスが貼られた場合、Solrに作成したg08m11にdataが作成され、ファイルが生成されていることを確認する。