2012-11-29 8 views
6

indexed=Falseの追加フィールドをSearchIndexに設定する理由はありますか?django haystack SearchField(インデックス付きFalse)

ドキュメントには、結果をフィルタリングまたは並べ替えるために追加のフィールドを定義する必要があることが記載されています。デフォルトではSearchIndexにはindexed=Trueがあるので、indexed=Falseに設定するとどうなりますか?

データはインデックスに保存されますが、インデックスは作成されませんか? stored=Falseを設定するとどうなりますか?

どのように動作しますか?

おかげデフォルト

答えて

3

は、干し草のすべてのフィールドは、両方(エンジンによる検索)索引付けされて記憶される(エンジンによって保持され、その結果に提示)。保存されたフィールドを使用することにより、一般的に使用されるデータを保存して、検索結果を処理する際にデータベースにアクセスする必要がなくなり、より多くの情報を得ることができます。 indexed=Truestored=Trueを指定すると、この利点が得られます。

indexed=Trueと指定した場合、検索結果を処理するときにデータベースにアクセスし、索引で利用できない追加情報を取得します。

indexed=Falseの目的は、レンダリングされたフィールドがインデックス作成プロセス中に事前レンダリングされたテンプレートに従うようにするシナリオに対応することです。ここに良い例が示されています - https://django-haystack.readthedocs.org/en/latest/searchindex_api.html#stored-indexed-fields

関連する問題