3

私は干し草の山チュートリアルに従おうとしています。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.
/Users/heri0n/python_env/lib/python2.7/site-packages/django/db/models/fields/__init__.py:808: RuntimeWarning: DateTimeField received a naive datetime (2013-04-07 16:14:15.481145) while time zone support is active.
  RuntimeWarning)
Indexing 1 notes.
Failed to add documents to Solr: [Reason: None]
<response><lst name="responseHeader"><int name="status">400</int><int name="QTime">6</int></lst><lst name="error"><str name="msg">ERROR: [doc=haystacktester.note.3] unknown field 'django_id'</str><int name="code">400</int></lst></response>

manage.py build_solr_schema > ~/solr-4.2.1/example/solr/conf/schema.xml を実行しました

conf ディレクトリが存在しなかったため、手動で作成する必要がありました。Solr 4 を使用しているときに、チュートリアルで Solr 3 を使用していることに気付きました。おそらく conf dir の場所が変更されましたか?

4

3 に答える 3

10

問題は、Solr (haystack ドキュメントでは v3.5.0 を使用しています。ここでは最新のものを使用している可能性があります) が構成ファイルを見つけられないことです。これらの3つのステップは私のために働いた

  • スキーマを solr-xyz/example/solr/collection1/conf/schema.xml に配置します

  • スキーマで、stopwords_en.txt を lang/stopwords_en.txt に変更します。

  • フィールド セクションのスキーマにバージョン フィールド (後述) を追加します。

    <field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
    

詳細については、GitHubで同じディスカッションを確認してください。

于 2013-12-18T15:11:20.073 に答える
5

これはコメントですが、ポイントが不足しているため、コメントできません...

誰かがこれに対する解決策を見つけましたか? 私はまったく同じ問題を抱えています。フィールドは次のように作成されてschema.xmlいます。

<field name="django_id" type="string" indexed="true" stored="true" multiValued="false"/>

Solr を (複数回) 再起動しましたが、schema.xml コードが正しいことを 100% 確信しています。ここで一体何が起こっているのですか?

編集: Elasticsearch に切り替えましたが、問題はありません。ただし、他の人がこの質問の助けになると確信しています。

于 2013-07-12T23:04:44.590 に答える
1

haystack のソース コードを複製し、次のようにいくつかのハックを行う必要がありました。

/haystack/management/commands/build_solr_schema.pyDJANGO_IDで、build_context()func にコメントしました。次に/haystack/templates/search_configuration/solr.xml、 に置き換え{{ DJANGO_ID }}"django_id"ところ、すべて正常に機能しました。

生成時に{{DJANGO_ID}}が置き換えられていないと思います。"django_id"schema.xml

于 2014-01-20T01:24:23.107 に答える