django ベースの Web サイトに検索を実装しようとしています。
チュートリアルに従っているときに、これを見つけました:
Solr バックエンドを使用している場合は、追加の手順があります。Solr の構成は XML ベースであるため、スキーマを手動で再生成する必要があります。
run ./manage.py build_solr_schema
まず、Solr の schema.xml ファイルに XML 出力をドロップし、Solr サーバーを再起動する必要があります。
まず、schema.xml をどこに置くべきかわかりません。いくつかの調査の後、プロジェクト内にフォルダーを作成して配置することにしましたmyprojectname/solr/schema.xml
。そうですか?
次に、Solr を再起動するにはどうすればよいですか?
アップデート
Solrをダウンロードして解凍し、生成されたschema.xmlを内部に配置しましたexample/solr/conf
次に、solrを開始しますjava -jar start.jar
しかし、インデックスを作成しようとすると:
./manage.py rebuild_index
私は得る:
WARNING: This will irreparably remove EVERYTHING from your search index.
Your choices after this are to restore from backups or rebuild via the `rebuild_index` command.
Are you sure you wish to continue? [y/N] y
Removing all documents from your index because you said so.
All documents removed.
Indexing 1 News.
Failed to add documents to Solr: [Reason: None]
<response><lst name="responseHeader"><int name="status">400</int><int name="QTime">4</int></lst><lst name="error"><str name="msg">ERROR: [doc=news.news.2] unknown field 'django_id'</str><int name="code">400</int></lst></response>
Indexing 1 entries.
Failed to add documents to Solr: [Reason: None]
<response><lst name="responseHeader"><int name="status">400</int><int name="QTime">17</int></lst><lst name="error"><str name="msg">ERROR: [doc=zinnia.entry.2] unknown field 'django_id'</str><int name="code">400</int></lst></response>
schema.xml を確認しましたが、次のものがあります。
<field name="django_ct" type="string" indexed="true" stored="true" multiValued="false" />
<field name="django_id" type="string" indexed="true" stored="true" multiValued="false" />
PS 私はDjango 1.2とHaystack 1.2.7を使用しています