2017-03-07 8 views
0

Haystackを使用するDjango CMSのプラグインであるAldryn Searchを使用しています。Django Haystackで再構築する方法

私は両方のドキュメントを読んでいますが、manage.py rebuild_indexを正しく実行する方法がわかりません。正常に実行した場合、私は次のようになります。

SolrError: Failed to connect to server at 'http://127.0.0.1:8000/update/?commit=true', are you sure that URL is correct? 

私のサーバーは動作していないためです。しかし、私のサーバーが動作している間は、このコマンドを実行することはできません。 私はターミナルで新しいタブを開き、私のサーバーが別のタブで実行されている間にコマンドを実行しようとしましたが、403禁止されたエラーが出ます。

このような簡単なことは説明しません。また、ページがコンテンツを変更したり、新しいページやブログの投稿が作成されるたびに、このコマンドを実行する必要がありますか?私はこれを生産上の大きな問題とみなしています。

+0

以下の解決策が問題のために機能しましたか? –

答えて

1

これは、django開発サーバーでが実行されていないためです。

両方のサーバを実行し続けるには(solrとDjango)、バックグラウンドでsolrを実行し、Django dev serverを実行します。だから、 、最初にそれを実行し、その後のSolrサーバは、あなたのホームディレクトリ内にあると仮定:

cd ~/solr-version/example/

java -jar start.jar --daemon &

ヒント:背景のSolrサーバを殺したい場合の操作を行います。ps aux | grep javaとあなたが得る必要がありますこの

username 3432 134 1.1 2431016 93196 Sl 09:52 0:06 java -jar start.jar --daemon username 3466 0.0 0.0 11744 932 S+ 09:52 0:00 grep --colour=auto java

のようなもの2番目の列は、そう、それを殺すために、プロセスのPIDをマーク:

kill 3432

今、あなたはあなたの2番目の質問については、プロジェクトと./manage.py runserver

のルートに行くことによって、Djangoのdevのサーバーを実行することができます:いいえ、それはコードがを変更するたびに再実行する必要はありません。と仮定すると、django-haystack RealTimeSignalProcessorを使用しています。非常に簡単です。モデルが更新されるたびに(つまり、エントリが追加、変更、削除される)、インデックスは自動的に更新されます。

希望すると、これが役立ちます。

関連する問題