Websorl returns 构建时出现错误“未知字段 'django_ct'” schema.xml

Websorl returns error " unknown field 'django_ct' " when building schema.xml

我们的网站 运行s Python 3.6.5 和:

我用 django-haystack (python manage.py build_solr_schema > schema.xml) 生成了 schema.xml 并将其粘贴到 websolr(heroku 版本)中。

当我运行以下命令时:

heroku run python manage.py rebuild_index --app terradiem

我收到以下错误:

Failed to add documents to Solr: Solr responded with an error (HTTP 400): [Reason: ERROR: [doc=naturalearth.naturalearthmerged.12001] unknown field 'django_ct']

Traceback (most recent call last): File "/app/.heroku/python/lib/python3.6/site-packages/haystack/backends/solr_backend.py", line 72, in update self.conn.add(docs, commit=commit, boost=index.get_field_weights())

File "/app/.heroku/python/lib/python3.6/site-packages/pysolr.py", line 918, in add overwrite=overwrite, handler=handler)

File "/app/.heroku/python/lib/python3.6/site-packages/pysolr.py", line 500, in _update

return self._send_request('post', path, message, {'Content-type': 'text/xml; charset=utf-8'})

File "/app/.heroku/python/lib/python3.6/site-packages/pysolr.py", line 412, in _send_request raise SolrError(error_message % (resp.status_code, solr_message)) pysolr.SolrError: Solr responded with an error (HTTP 400): [Reason: ERROR: [doc=naturalearth.naturalearthmerged.12001] unknown field 'django_ct']

我想这与 schema.xml 中的以下几行有关:

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

有线索吗?

我无法让它与 Solr 一起工作。

如果它对其他人有用,下面是我如何让 Django 和 Heroku 与 django-haystack 一起工作:

我切换到 Heroku Bonsai 和 ElasticSearch。

版本组合非常复杂,因为 Haystack 尚不支持 Elasticsearch 5.x、6.x 或 7.x,而 Bonsai for multiple tenants plan 仅支持版本 5.4.3 / 6.5 .4 / 7.2.0

因此我安装了一个支持 ElasticSearch 5 的 django-haystack 分支: https://github.com/tehamalab/django-haystack-es

并在 Heroku 中创建如下插件:

heroku addons:create bonsai:staging -a terradiem --version=5.6.16

现在一切都很好。