从概念的角度来看,Django Haystack文档= True

时间:2012-10-08 17:31:52

标签: django django-haystack

所以,我试图围绕“text = indexes.CharField(document=True, use_template=True)”的概念。来自文档:

  

每个SearchIndex都需要一个(且只有一个)字段,其中document = True。这向Haystack和搜索引擎指示哪个字段是在其中搜索的主要字段。

由于我看到的每一个例子似乎只是把它作为一种惯例“抛入”,“text = indexes.CharField(document=True, use_template=True)”如何实际描述任何东西?

  1. 模型中的哪个字段是主要在使用此约定时选择搜索的引擎?

  2. model_attr=desired_model_attr字段中是否应该始终有text,因此引擎实际上可以知道哪个model_attr是搜索的主要字段?

1 个答案:

答案 0 :(得分:4)

经过一番进一步的调查后,我想我明白了 - 回答我自己的问题给其他可能有同样问题的人。

我认为我的困惑主要与在文档中使用use_template=True有关。使用模板时,无需在索引中设置model_attr,因为您在数据模板中描述了文档结构(以及要搜索的模型字段)。所以回答我的两个问题:

  1. 因为您指定use_template = True,所以您必须在数据模板中描述要搜索的模型字段。如果您打算设置use_template=True

  2. ,请勿设置model_attr
  3. 见上文。