2012-05-22 8 views
5

का उपयोग कर मैं अपने Ubuntu सर्वर पर django-haystack और Whoosh उपयोग कर रहा हूँ और पाया कि कुछ जिज्ञासाओं सिर्फ एक त्रुटि पृष्ठ बढ़ा सकते हैं और मुझे पता नहीं क्यों यह हो रहा है है ...Django Haystack यादृच्छिक त्रुटियों हूँश

मैं उपयोग कर रहा हूँ निम्नलिखित लोगों

Whoosh==2.4.0 
django-haystack==1.2.7 

और मैं भी python manage.py update_index एक बार हर घंटे

उदाहरण ट्रैस बैक

चलाने
Traceback (most recent call last): 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response 
    response = callback(request, *callback_args, **callback_kwargs) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/hooks/framework_django.py", line 430, in __call__ 
    return self.__wrapped(*args, **kwargs) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/haystack/views.py", line 50, in __call__ 
    return self.create_response() 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/haystack/views.py", line 145, in create_response 
    return render_to_response(self.template, context, context_instance=self.context_class(self.request)) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/shortcuts/__init__.py", line 20, in render_to_response 
    return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/loader.py", line 188, in render_to_string 
    return t.render(context_instance) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 123, in render 
    return self._render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/api/function_trace.py", line 82, in __call__ 
    return self._nr_next_object(*args, **kwargs) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 117, in _render 
    return self.nodelist.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render 
    bits.append(self.render_node(node, context)) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node 
    return node.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 127, in render 
    return compiled_parent._render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/api/function_trace.py", line 82, in __call__ 
    return self._nr_next_object(*args, **kwargs) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 117, in _render 
    return self.nodelist.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render 
    bits.append(self.render_node(node, context)) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node 
    return node.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/newrelic-1.2.0.246/newrelic/hooks/framework_django.py", line 622, in __call__ 
    return self.__wrapped(*args, **kwargs) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/loader_tags.py", line 64, in render 
    result = block.nodelist.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render 
    bits.append(self.render_node(node, context)) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node 
    return node.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/defaulttags.py", line 311, in render 
    return self.nodelist_true.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 744, in render 
    bits.append(self.render_node(node, context)) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 757, in render_node 
    return node.render(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/defaulttags.py", line 227, in render 
    nodelist.append(node.render(context)) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 915, in render 
    resolved_vars = [var.resolve(context) for var in self.vars_to_resolve] 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 653, in resolve 
    value = self._resolve_lookup(context) 

File "/home/fundedbyme/.virtualenvs/fundedbyme/local/lib/python2.7/site-packages/django/template/base.py", line 692, in _resolve_lookup 
    raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bit, current)) # missing attribute 

VariableDoesNotExist: Failed lookup for key [object] in u'None' 


<WSGIRequest 
GET:<QueryDict: {u'q': [u'stockholm']}>, 
+2

मैंने Xapian के खिलाफ चल रहे एक ही व्यवहार को देखा है, इसलिए मुझे नहीं लगता कि यह बैकएंड संबंधित है। आप 'हाइलाइट' टैग का उपयोग कर सबसे अधिक संभावना रखते हैं, क्योंकि 'परिणाम'' कोई नहीं होने पर यह खराब रूप से डिज़ाइन किया गया है और इस अपवाद अपवाद को बढ़ाता है। अब क्यों 'परिणाम' 'कोई नहीं 'एक बिल्कुल अलग सवाल है। यह एक बग की तरह लगता है। –

+0

@ChrisPratt प्रतिक्रिया के लिए धन्यवाद, मैं वर्तमान में हाइलाइट टैग का उपयोग नहीं कर रहा हूं, लेकिन मुझे यह बहुत निराशाजनक लगता है कि अन्य लोगों को ये समस्याएं हैं और बहुत कम पता है कि इसे कैसे ठीक किया जाए ... – ApPeL

उत्तर

0

क्या आप यहां अपना विचार और अपना टेम्पलेट कोड डाल सकते हैं? यदि यह कुछ प्रश्नों के साथ हो रहा है और उनमें से सभी नहीं, तो यह आपके द्वारा देखे जा रहे पैरामीटर हो सकता है। यहाँ देखने मैं अपने ही की एक परियोजना में Haystack 2.0 और हूँश 2.3.2 का उपयोग कर खोज प्रश्नों बनाने के लिए उपयोग कर रहा हूँ के कोड है:

def search(request): 
    sqs = SearchQuerySet().filter(content=AutoQuery(request.GET['q'])) 
return render_to_response('search.html', {'sqs': sqs,}) 

और इस पूरी तरह से ठीक काम करता है। मुझे लगता है कि आपको हेस्टैक के नवीनतम संस्करण का उपयोग करने पर विचार करना चाहिए, क्योंकि मुझे पुराने स्थिर लोगों के साथ बहुत सारी बग का सामना करना पड़ रहा था। और मैं आपको थोड़ी देर में "rebuild_index" का उपयोग करने की सलाह देता हूं, बस मामले में।

+0

ओपी के लिए बात नहीं कर सकता, लेकिन कम से कम मेरे मामले में: मैं हेस्टैक-प्रदत्त खोज दृश्य का उपयोग कर रहा हूं, इसलिए वहां कोई अनुकूलन नहीं है। मैं हेस्टैक की मास्टर शाखा से बाहर निकल रहा हूं और एक क्रॉन जॉब हर घंटे इंडेक्स अपडेट करता है। लेकिन, उत्तर देने के लिए धन्यवाद। जैसे मैंने कहा, मैं ओपी के लिए बात नहीं कर सकता, इसलिए शायद आपकी सलाह उनके लिए उपयोगी हो जाएगी। –