django-haystackと検索を統合しようとしています
"サンプル"バックエンドでうまく動作しますが、それは常に0の結果を返します。Django-haystackは "単純な"バックエンドを返しますが、 "whoosh"を返しません
settings.py:
HAYSTACK_DEFAULT_OPERATOR = 'AND'
HAYSTACK_SITECONF = 'search_sites'
HAYSTACK_SEARCH_ENGINE = 'whoosh'
HAYSTACK_SEARCH_RESULTS_PER_PAGE = 20
HAYSTACK_WHOOSH_PATH = os.path.join(PROJECT_ROOT, 'search_index')
search_sites.py
import haystack
haystack.autodiscover()
プロファイル/ search_indexes.py:
from haystack import indexes
from haystack import site
from profiles.models import Profile
class ProfileIndex(indexes.SearchIndex):
text = indexes.CharField(document=True, use_template=True)
def index_queryset(self):
"""Used when the entire index for model is updated."""
return Profile.objects.all()
site.register(Profile, ProfileIndex)
テンプレート/検索/インデックス/プロファイル/ profile_text.txt:
シェルで次のコマンドを実行したときAll documents removed.
Indexing 60 profiles.
:0
はpython manage.py rebuild_index
リターンを実行する "単純な" バックエンドとのヒューという音を切り替えるとき
>>> from haystack.query import SearchQuerySet
>>> sqs = SearchQuerySet().all()
>>> sqs.count()
0
、すべてが正常に動作し、60個の結果が返されます。
Getting Started with HaystackとDebugging Haystackに従って、すべてが正しく設定されているようです。
私は以前のバージョンのWhooshをインストールしてみましたが、成功しませんでした。
この時点で非常に愚かな気持ちは、どんな助けも本当に感謝します。
パッケージバージョン:
python==2.7
Django==1.3.1
Whoosh==2.3.2
django-haystack==1.2.6
更新:
- 1.8.4にヒューという音をダウングレードが助けにはなりませんでした。
- Haystack Tutorialに記載されている基本検索テンプレートを使用すると、1文字クエリではすべての結果が返され、他の検索では0結果が返されます。 [OK]を