私は Ubuntu 12.04 を使用しており、django 1.4.2 サイトにインストールされた django-haystack (2.0beta) を介して jetty (9_M4)、solr (4.0.0) を使用しています。
django-haystack を使用して Ubuntu で solr 4.0 を起動して実行するためのドキュメントがほとんどないため、これを起動して実行するには、フープを何度もジャンプする必要がありました。しかし、それはどれほど難しいでしょうか?
私の主な混乱は、Jetty が行っていることと Solr が行っていることです。
そのため、このチュートリアルのコメントに記載されているように、init ファイルを少し調整して、このチュートリアルで Jetty をインストールしました。Jetty が実行されるようになりました。再起動後でもブラウザで確認できます。
偉大な。
調整を加えて、このチュートリアルで Solr のインストールに進みます。それ以外の:
cp -R apache-solr-4.0.0/example/solr /opt
私が使う:
cp -R apache-solr-4.0.0/example/* /opt/solr/
したがって、次を /etc/default/jetty に追加します。
JAVA_OPTIONS="-Dsolr.solr.home=/opt/solr/solr $JAVA_OPTIONS"
なぜそんなことをしたのか正確には覚えていませんが、当時は理由がありました。私はその時点でそのチュートリアルの使用をやめました.solrのコアの概念をよく理解していないためです.
(コンテキストとして、約 6 か月前に solr 3.5 を使用して django-haystack 2.0 をセットアップしたときは、恐ろしく簡単で、別の Jetty のインストールは必要ありませんでした。すべての作業に約 2 時間かかりました)
とにかく、Django のインストールに戻り、schema.xml を作成し、stopwords-en.txt を変更して、それを /opt/solr/solr/collection1/conf にコピーします。
/opt/solr/solr/collection1/conf/solrconfig.xml を編集して updateLog への参照を削除します。バージョンフィールドを schema.xml に追加しようとして、なんらかの文字エラーでひどく失敗したためです。詳細については、こちら (lucene -solr-user メーリング リスト)とこちら (django-haystack github)を参照してください。
最後に、/opt/solr に cd して実行します。
sudo java -jar start.jar
バダブーム!いくつかの結果が得られます (django サイトにアクセスして、設定した検索を使用すると)。素晴らしい。これは本当に素晴らしいです。ここで、solr の開始を永続化する必要があります。
次のような /etc/init/solr を作成します。
description "Solr Search Server"
# Make sure the file system and network devices have started before
# we begin the daemon
start on (filesystem and net-device-up IFACE!=lo)
# Stop the event daemon on system shutdown
stop on shutdown
# Respawn the process on unexpected termination
respawn
# The meat and potatoes
exec /usr/bin/java -jar /opt/solr/start.jar >> /var/log/solr.log 2>&1
サーバーを再起動しても何も表示されません。solr が実行されていることは確認できますが、django 検索で結果が得られません。
init ファイルを削除して、もう一度 cli から実行してみます。
だから、私の質問は次のとおりです。
私は一体何を間違えたのですか?
起動時に solr を開始し、誤って停止して Django/haystack インターフェースを介して結果を生成した場合に再生成するにはどうすればよいですか?
なぜ jetty と solr を同時に実行する必要があるのですか? /opt/jetty/webapps/solr.war と /opt/solr の関係は? 競合の原因を作成していますか?
solr 3.5 ではこれが簡単だったのに、今は難しいのはなぜですか? 私はこれを正直に尋ねます.solr開発者からの言い訳や説明のリストは必要ありません.最初のインスタンス(solr 3.5)で私の理解がどのように制限され、2時間で実行できるようになるのか、そしてなぜ今私がjetty/solr アーキテクチャと cli/shell スクリプトのハッキングを実行するには、包括的な理解が必要ですか?