0

xapian バックエンドで django-haystack を使用して、django サイトで検索機能をセットアップしようとしています。http://django-haystack.readthedocs.org/en/latest/tutorial.htmlの指示に従いました。

検索を入力すると、次のエラーがスローされます: 検索/xapian/xapian_index でインデックスを開けません

./manage.py rebuild_index を実行したときに検索インデックスが作成されなかったようですが、その時点ではエラーは報告されていません。

myapp/models.py で次のモデルのインデックスを作成しようとしています:

class MyMsg (models.Model):
    msg = models.TextField(max_length=2000)
    pub_date = models.DateTimeField('date published')
    author = models.ForeignKey(User)
    def __unicode__(self):
        return self.msg

myapp/search_index.py に次の検索インデックスがあります。

class MyMsgIndex(indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True, use_template=True)
    author = indexes.CharField(model_attr='author')
    pub_date = indexes.DateTimeField(model_attr='pub_date')

    def get_model(self):
        return MyMsg

    def index_queryset(self):
        """Used when the entire index for model is updated."""
        return self.get_model().objects.filter(pub_date__lte=datetime.datetime.now())

私が使用している: haystack 1.2.4 xapian 1.2.12 mac OS X 10.6.8

よろしくお願いします。

4

1 に答える 1

0

Haystack 1.2.4 を使用しているとのことですが、新しい 2.x ベータ ドキュメントにリンクしています。Haystack の以前のバージョンでは、「自動検出」ステップを追加する必要があります。

これには、haystack 構成モジュールを指す変数を call で作成することが含まれsettings.pyます。HAYSTACK_SITECONFそのモジュール内には、少なくとも次の行が必要です。

import haystack
haystack.autodiscover()

お使いのバージョンのチュートリアルを参照してください: http://django-haystack.readthedocs.org/en/v1.2.4/tutorial.html

これが問題でしょうか?

于 2012-08-03T00:21:56.057 に答える