2016-11-21 23 views
0

私はHaystack + Whooshを検索用に使ってDjangoアプリケーションを構築しています。開発環境では、検索は期待通りに機能します。ただし、本番環境では、検索結果は一貫して結果を返しません。Django + Haystack + Whoosh、生産中の結果はありません

開発:

$> 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

インデックスファイルが作成されていないようです。上記の編集を参照してください。 –

関連する問題