2016-11-21 78 views
0

我正在使用Haystack + Whoosh進行搜索以構建Django應用程序。在開發環境中,搜索按預期工作。但是,在製作中,搜索始終沒有結果。Django + Haystack +飛快移動,在生產中沒有任何結果

發展:

$> python manage.py rebuild_index 
... 
All documents removed. 
Indexing 8 categories 
Indexing 4 documents 

$> python manage.py shell 
... 
>>> from haystack.query import SearchQuerySet 
>>> SearchQuerySet().all().count() 
12 

生產:

$> dokku run proj python manage.py rebuild_index -v2 
... 
All documents removed. 
Skipping '<class 'django.contrib.admin.models.LogEntry'>' - no index. 
... 
Skipping '<class 'django.contrib.sessions.models.Session'>' - no index. 
Indexing 7 categories 
    indexed 1 - 7 of 7 (worker PID: 8). 
Indexing 13 documents 
    indexed 1 - 13 of 13 (worker PID: 8). 
[INFO/MainProcess] process shutting down 

$> dokku run proj python manage.py shell 
... 
>>> from haystack.query import SearchQuerySet 
>>> SearchQuerySet().all().count() 
0 
>>> from django.conf import settings 
>>> settings.HAYSTACK_CONNECTIONS['default']['PATH'] 
'/app/whoosh/index' 

$> dokku run proj ls -la /app/whoosh 
total 8 
drwxr-xr-x 2 herokuishuser herokuishuser 4096 Nov 21 16:44 . 
drwxr-xr-x 21 herokuishuser herokuishuser 4096 Nov 22 17:42 .. 
-rw-r--r-- 1 herokuishuser herokuishuser 0 Nov 21 16:43 .gitkeep 

文件/設置:

# requirements.txt 
Django==1.10.3 
django-haystack==2.5.1 
gunicorn==19.6.0 
psycopg2==2.6.2 
whitenoise==3.2.2 
Whoosh==2.7.4 
... 

# runtime.txt 
python-3.5.2 

# proj/settings.py 
... 
HAYSTACK_CONNECTIONS = { 
    'default': { 
     'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 
     'PATH': os.path.join(BASE_DIR, 'whoosh', 'index'), 
    }, 
} 
... 

任何指導意見找到問題?

回答

0

這可能是一個權限問題。

您可以在詳細模式下運行時,你可能會從洞察:

dokku run proj python manage.py rebuild_index -v2 

是什麼在你的設置?你應該有這樣的東西:

HAYSTACK_CONNECTIONS = { 
    'default': { 
     'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 
     'PATH': os.path.join(self.BASE, '_whoosh', 'whoosh_index'), 
    }, 
} 

打印出settings.HAYSTACK_CONNECTIONS['default']['PATH']。確保它不在臨時文件夾中並且可以訪問(ls -la ...)。

+0

謝謝 - 它看起來像索引文件沒有被創建 - 請參閱上面的編輯。 –

相關問題