1

だから、私は「text = indexes.CharField(document=True, use_template=True)」の概念に頭を悩ませようとしています。ドキュメントから:

すべてのSearchIndexには、document = Trueのフィールドが1つ(そして1つだけ)必要です。これは、Haystackと検索エンジンの両方に、どのフィールドが内部を検索するための主要なフィールドであるかを示します。

私が見るすべての例は、これを慣例として「投げ込んだ」ように見えるので、「text = indexes.CharField(document=True, use_template=True)」は実際に何かをどのように説明しているのでしょうか。

  1. この規則を使用するときに、エンジンは主にモデルのどのフィールドを検索することを選択しますか?

  2. model_attr=desired_model_attrこのフィールドには常にが含まれているべきではないtextので、エンジンは実際にどのmodel_attrが検索の主要フィールドであるかを知ることができますか?

4

1 に答える 1

5

いくつかのさらなる調査の後、私は理解していると思います-これと同じ質問をしているかもしれない他の人のために私自身の質問に答えます。

私の混乱は、主にuse_template=Trueドキュメントでの使用に関連していると思います。model_attrテンプレートを使用する場合、データテンプレートでドキュメント構造(および検索するモデ​​ルフィールド)を記述するため、インデックスにを設定する必要はありません。だから私の2つの質問に答えるために:

  1. use_template = Trueを指定するため、データテンプレートで検索するモデ​​ルフィールドを記述する必要があります。use_template=Trueを設定する場合は設定しないでくださいmodel_attr

  2. 上記を参照。

于 2012-10-08T20:55:27.680 に答える