【问题标题】:haystack django errors on the field 'django_ct''django_ct' 字段上的 haystack django 错误
【发布时间】:2014-04-29 20:55:38
【问题描述】:

谁能帮助我为什么django_ct 不存在以及为什么 solr_backend 试图访问该字段?我错过了任何设置吗?

> Environment:
> Request Method: GET
> Request URL: ## http:\\mysit\search\searchresults\?searchtext=abcd ##
> Django Version: 1.4.2


>Python Version: 2.7.3



>Installed Applications:


>(...


> 'haystack',


> ...')




>Traceback for the error below:


>File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response


>  111.                         response = callback(request, *callback_args, **callback_kwargs)


>File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py" in view


>  48.             return self.dispatch(request, *args, **kwargs)


>File "/usr/local/lib/python2.7/dist-packages/django_conneg-0.9.4-py2.7.egg/django_conneg/views.py" 

>in dispatch


>  241.             return super(ContentNegotiatedView, self).dispatch(request, *args, **kwargs)


>File "/usr/local/lib/python2.7/dist-packages/django_conneg-0.9.4-py2.7.egg/django_conneg/views.py" 

>in dispatch


>  75.         return super(BaseContentNegotiatedView, self).dispatch(request, *args, **kwargs)


>File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch


>  69.         return handler(request, *args, **kwargs)


>File "/usr/lib/python2.7/dist-packages/dataplace/web/search/views.py" in get


>  195.         logger.info("title count =" + repr(sqs.facet_counts()))


>File "/usr/local/lib/python2.7/dist-packages/haystack/query.py" in facet_counts


>  510.             return clone.query.get_facet_counts()


>File "/usr/local/lib/python2.7/dist-packages/haystack/backends/__init__.py" in get_facet_counts


>  656.             self.run()


>File "/usr/local/lib/python2.7/dist-packages/haystack/backends/solr_backend.py" in run


>  693.         results = self.backend.search(final_query, **search_kwargs)


>File "/usr/local/lib/python2.7/dist-packages/haystack/backends/__init__.py" in wrapper


>  34.             return func(obj, query_string, *args, **kwargs)


>File "/usr/local/lib/python2.7/dist-packages/haystack/backends/solr_backend.py" in search


>  133.         return self._process_results(raw_results, highlight=kwargs.get('highlight'), 

>result_class=kwargs.get('result_class', SearchResult), distance_point=kwargs.get('distance_point'))


>File "/usr/local/lib/python2.7/dist-packages/haystack/backends/solr_backend.py" in _process_results


>  371.             app_label, model_name = raw_result[DJANGO_CT].split('.')


>Exception Type: KeyError at /search/searchresults/


>Exception Value: u'django_ct'

【问题讨论】:

    标签: django python-2.7 solr


    【解决方案1】:

    听起来您的 schema.xml 文件不是最新的。

    你必须跑:

    python manage.py build_solr_schema
    

    并将输出的内容复制到您的 solr schema.xml 文件中。 这是该命令的docs

    【讨论】:

    • 谢谢layibug。我这样做并重新启动了solr。当我访问 locathost:8080/solr 时,由于新模式,我会收到大量错误。经过更多研究:django-haystack.readthedocs.org/en/latest/… 建议 solr>3.5 。我最初安装了 solr-tomcat,它的 solr 版本较低。如何使用 tomcat 6 安装 solr>=3.5?
    • 您可以手动安装 solr 而不是使用 solr-tomcat,这将为您提供更新的版本。我在这里找到了一篇带有一些说明的好文章:digitalocean.com/community/articles/…
    猜你喜欢
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    相关资源
    最近更新 更多