2012-01-25 5 views
1

私はWhoosh 2.3.2、Haystack 2.0.0、およびPython 2.7のDjango 1.3を使用しています。 Localhostでは、うまく動作します。プロダクションでは、私が検索すると爆発する。Whoosh、Haystack、およびAttributeError: 'Segment'オブジェクトには生産時に属性 'compound'がありません

はここで完全なトレースバックです:

File "/opt/Python2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 117, in get_response 
    response = middleware_method(request, e) 

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

    File "/var/www/html/sites/django_projects/apps/haystack/views.py", line 50, in __call__ 
    return self.create_response() 

    File "/var/www/html/sites/django_projects/apps/haystack/views.py", line 130, in create_response 
    (paginator, page) = self.build_page() 

    File "/var/www/html/sites/django_projects/apps/haystack/views.py", line 107, in build_page 
    self.results[start_offset:start_offset + self.results_per_page] 

    File "/var/www/html/sites/django_projects/apps/haystack/query.py", line 261, in __getitem__ 
    self._fill_cache(start, bound) 

    File "/var/www/html/sites/django_projects/apps/haystack/query.py", line 159, in _fill_cache 
    results = self.query.get_results(**kwargs) 

    File "/var/www/html/sites/django_projects/apps/haystack/backends/__init__.py", line 478, in get_results 
    self.run(**kwargs) 

    File "/var/www/html/sites/django_projects/apps/haystack/backends/__init__.py", line 396, in run 
    results = self.backend.search(final_query, **search_kwargs) 

    File "/var/www/html/sites/django_projects/apps/haystack/backends/__init__.py", line 27, in wrapper 
    return func(obj, query_string, *args, **kwargs) 

    File "/var/www/html/sites/django_projects/apps/haystack/backends/whoosh_backend.py", line 346, in search 
    narrow_searcher = self.index.searcher() 

    File "/var/www/html/sites/django_projects/utils/whoosh/index.py", line 322, in searcher 
    return Searcher(self.reader(), fromindex=self, **kwargs) 

    File "/var/www/html/sites/django_projects/utils/whoosh/filedb/fileindex.py", line 335, in reader 
    info.generation, reuse=reuse) 

    File "/var/www/html/sites/django_projects/utils/whoosh/filedb/fileindex.py", line 322, in _reader 
    readers = [segreader(segment) for segment in segments] 

    File "/var/www/html/sites/django_projects/utils/whoosh/filedb/fileindex.py", line 311, in segreader 
    generation=generation) 

    File "/var/www/html/sites/django_projects/utils/whoosh/filedb/filereading.py", line 66, in __init__ 
    if segment.compound: 

    AttributeError: 'Segment' object has no attribute 'compound' 

そして、ここでは私のsearch_index.pyです:

from haystack import indexes 
from articles.models import Article 
from django.conf import settings 

import datetime 
now = datetime.datetime.now() 

class ArticleIndex(indexes.SearchIndex, indexes.Indexable): 
    text = indexes.CharField(document=True, use_template=True) 

    def get_model(self): 
     return Article 

    def index_queryset(self): 
     """Used when the entire index for model is updated.""" 
     return self.get_model().objects.filter(publication="Published", site=settings.SITE_ID, created__lte=now) 

この精通誰でもまたは任意の提案がありますか?

答えて

0

Nevermind。判明したように、HaystackとWhooshはサイトパッケージにインストールする必要があります。それらをappsフォルダに置くと、特にutilsフォルダがある場合に問題が発生します。

関連する問題