2013-08-09 4 views
2

Я использовал Apache Solr довольно давно и только недавно начал сталкиваться с некоторыми серьезными проблемами. Я использую его с haystack и проектом django. Когда я делаю это из manage.py shell я получаю ниже:Проблемы с Solr с поиском

>>> from haystack.query import SearchQuerySet 
>>> emps = SearchQuerySet().filter(django_ct='web.employer').filter(name__icontains='Mi')[:10] 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/haystack/query.py", line 241, in __getitem__ 
    self._fill_cache(start, bound) 
    File "/usr/local/lib/python2.7/dist-packages/haystack/query.py", line 140, in _fill_cache 
    results = self.query.get_results(**kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/haystack/backends/__init__.py", line 469, in get_results 
    self.run(**kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/haystack/backends/solr_backend.py", line 501, in run 
    results = self.backend.search(final_query, **search_kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/haystack/backends/__init__.py", line 47, in wrapper 
    return func(obj, query_string, *args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/haystack/backends/solr_backend.py", line 202, in search 
    raw_results = self.conn.search(query_string, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/pysolr.py", line 578, in search 
    response = self._select(params) 
    File "/usr/local/lib/python2.7/dist-packages/pysolr.py", line 308, in _select 
    return self._send_request('get', path) 
    File "/usr/local/lib/python2.7/dist-packages/pysolr.py", line 293, in _send_request 
    error_message = self._extract_error(resp) 
    File "/usr/local/lib/python2.7/dist-packages/pysolr.py", line 372, in _extract_error 
    reason, full_html = self._scrape_response(resp.headers, resp.content) 
    File "/usr/local/lib/python2.7/dist-packages/pysolr.py", line 404, in _scrape_response 
    p_nodes = body_node.cssselect('p') 
AttributeError: 'NoneType' object has no attribute 'cssselect' 

Я попытался переустановить стог сена, LXML, cssselect, pysolr и до сих пор я получаю эти ошибки. Есть ли что-нибудь еще, что я могу попробовать? Спасибо за любую помощь!

Я также попытался чтения некоторых других SO вопросов, включая следующее:

XML error object has no attribute 'cssselect'

ответ

1

У меня была такая же проблема, как и при поднятии pysolr и lxml до последней версии. Оказалось, это потому, что я не использовал сгенерированную сеноватую схему, у которой есть несколько дополнительных полей по сравнению со стандартным solr.

Вы можете подтвердить это, посмотрев ваши журналы solr.

1

Это проблема с pysolr. Он не был установлен до 3.3.0.

Единственной альтернативой было бы переопределить код pysolr и внести коррективы, когда Solr вернет статус ответа! = 200.

Вы можете проверить, имеет ли ответ атрибут тела или нет, и вносить коррективы в соответствии с этим.

Смежные вопросы