アプリケーションに検索機能を追加するために、 django-haystack チュートリアルを理解しようとしています。残念ながら、検索インデックスの作成に関しては、いくつかの重要な部分がよくわかりません。
チュートリアルでは、次の django モデルが例として機能します。
class Note(models.Model):
user = models.ForeignKey(User)
pub_date = models.DateTimeField()
title = models.CharField(max_length=200)
body = models.TextField()
Note
モデルのそれぞれのインデックス クラスは次のとおりです。
class NoteIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
author = indexes.CharField(model_attr='user')
pub_date = indexes.DateTimeField(model_attr='pub_date')
def get_model(self):
return Note
最後に、次のようなデータ テンプレートを作成するよう求められます。
{{ object.title }}
{{ object.user.get_full_name }}
{{ object.body }}
チュートリアル全体を読んだ後でも、現在インデックスが作成されているものについてまだ混乱しています。私が理解している限り、フィールドの内容はauthor
インデックスpub_date
の作成に使用されます。このフィールドtext
は、いくつかの設定を提供するためのものです。また、データ テンプレートは、後で検索結果を表示する方法、つまり、モデルのどのフィールドを検索結果に表示するかを指定します。
これは正しいですか、それとも完全に間違っていますか? 私の意見では、チュートリアルとドキュメントは多くの面でかなりあいまいです。事前にどうもありがとうございました。