无法为Solr中/干草堆建立索引:未知领域“django_id”(Can't build i

2019-08-20 04:03发布

我试图沿着草堆教程跟随。 我碰到一个错误,当我运行manage.py重建索引

我得到以下错误:

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 /例子/ Solr的/ conf目录/ schema.xml中

我不得不手动创建conf目录,因为它不存在。 我注意到教程使用Solr的3,而我在4做过的conf目录的变化也许是位置?

Answer 1:

问题是关注Solr(草堆文件使用V3.5.0,在这里你可以使用最新的)没有找到配置文件。 这3个步骤为我工作

  • 放置在solr的-XYZ /示例/ solr的/ collection1 / CONF / schema.xml中的模式

  • 在架构更改stopwords_en.txt郎/ stopwords_en.txt

  • 版本字段(如下文所述)添加到架构中的字段节

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

欲了解更多详情,请查看同一讨论的GitHub



Answer 2:

这更是一个评论的,但由于我缺少点我无法评论...

有没有人想出一个soltuion这样做呢? 我有完全相同的问题。 正在创建的字段schema.xml这样:

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

我已经重新启动Solr的(多次),我100%的正我的schema.xml中的代码是正确的。 到底是什么怎么回事?

编辑:我切换到Elasticsearch并没有问题。 不过,我相信其他人在那里会找到帮助找到这个问题非常有用。



Answer 3:

我不得不克隆草垛源代码,并做一些处理如下:

在/haystack/management/commands/build_solr_schema.py,我评论DJANGO_IDbuild_context() FUNC。 然后在/haystack/templates/search_configuration/solr.xml ,我换成{{ DJANGO_ID }}"django_id" ,一切工作正常。

我觉得{{DJANGO_ID}}没有被替换为"django_id"当您生成schema.xml



文章来源: Can't build index for solr/haystack: unknown field 'django_id'