所以,我试图围绕“text = indexes.CharField(document=True, use_template=True)
”的概念。来自文档:
每个SearchIndex都需要一个(且只有一个)字段,其中document = True。这向Haystack和搜索引擎指示哪个字段是在其中搜索的主要字段。
由于我看到的每一个例子似乎只是把它作为一种惯例“抛入”,“text = indexes.CharField(document=True, use_template=True)
”如何实际描述任何东西?
模型中的哪个字段是主要在使用此约定时选择搜索的引擎?
此model_attr=desired_model_attr
字段中是否应该始终有text
,因此引擎实际上可以知道哪个model_attr是搜索的主要字段?
答案 0 :(得分:4)
经过一番进一步的调查后,我想我明白了 - 回答我自己的问题给其他可能有同样问题的人。
我认为我的困惑主要与在文档中使用use_template=True
有关。使用模板时,无需在索引中设置model_attr
,因为您在数据模板中描述了文档结构(以及要搜索的模型字段)。所以回答我的两个问题:
因为您指定use_template = True,所以您必须在数据模板中描述要搜索的模型字段。如果您打算设置use_template=True
。
model_attr
见上文。