単語の一部のみを検索するための結果を生成することを実装しようとしています (autocomplete
私が間違っていなければ、Haystack のドキュメントに従って呼び出されます)。
例:
探す"gol"
結果"goldfish"
私は何を試しましたか?
docs のステップ 1 で求められたとおりに実行し、Index クラスに次の行を追加しました。
content_auto = indexes.EdgeNgramField(model_attr='content')
それからやったpython manage.py rebuild_index
。
ただし、インデックスを再構築すると、インデックス付きテーブルの最初のエントリであり、インデックスを作成したモデルであるというエラーが発生しましたhaystack.exceptions.SearchFieldError: The model '<Person: Reginald>' does not have a model_attr 'content'.
。Reginald
Person
実際、私のモデルにはフィールドがありませんがcontent
、ドキュメントに示されているように、そのようなフィールドを持つ必要はありません。
Whoosh 2.4.1
、Django-haystack 1.2.7
およびを使用してDjango 1.4
います。