6

indexed=Falseintoで追加のフィールドを設定する理由はありますSearchIndexか?

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

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

それはどのように機能しますか?

ありがとう

4

1 に答える 1

4

デフォルトでは、Haystack のすべてのフィールドは、インデックス化され (エンジンによって検索可能)、保存されます (エンジンによって保持され、結果に表示されます)。保存されたフィールドを使用すると、検索結果を処理して詳細情報を取得するときにデータベースにアクセスする必要がないように、一般的に使用されるデータを保存できます。indexed=Trueと を指定すると、この利点が得られますstored=True

only を指定するindexed=Trueと、検索結果を処理してインデックスにない追加情報を取得するときにデータベースにヒットします。

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

于 2012-11-29T02:56:56.053 に答える