是否有任何理由使用indexed=False
into设置其他字段SearchIndex
?
文档提到应该为过滤或排序结果定义额外的字段。默认情况下SearchIndex
有indexed=True
,那么如果我设置会发生什么indexed=False
?
数据是否仍会存储在索引中但不会被索引?如果我设置会发生什么stored=False
?
它是如何工作的?
谢谢
是否有任何理由使用indexed=False
into设置其他字段SearchIndex
?
文档提到应该为过滤或排序结果定义额外的字段。默认情况下SearchIndex
有indexed=True
,那么如果我设置会发生什么indexed=False
?
数据是否仍会存储在索引中但不会被索引?如果我设置会发生什么stored=False
?
它是如何工作的?
谢谢
默认情况下,Haystack 中的所有字段都被索引(可由引擎搜索)和存储(由引擎保留并显示在结果中)。通过使用存储字段,您可以存储常用数据,这样您在处理搜索结果时就无需访问数据库以获取更多信息。如果您指定indexed=True
and ,您将获得此优势stored=True
。
如果您仅指定indexed=True
,则在处理搜索结果以获取索引中不可用的其他信息时,您将访问数据库。
的目的indexed=False
是满足您希望渲染字段在索引过程中遵循预渲染模板的情况。这里说明了一个很好的例子 - https://django-haystack.readthedocs.org/en/latest/searchindex_api.html#stored-indexed-fields