如何最小化干草堆索引占用的硬盘空间?索引占用的空间比整个数据库多,哈哈!我正在索引大部分文本。
我正在考虑删除所有数字和HTML标签。但这些只是逻辑上的尝试,因为较小的输入=较小的输出。但我认为我遗漏了haystack工作方式的基本原因,以及索引变得比数据库本身更大的原因。
在我的索引模板中,我有许多文本和日期字段。
编辑:以下是我的索引创建文件和模板的示例。如果我做错了什么或效率低下,请告诉我。所有字段都是可搜索的。
search_indexes.py:
class MainIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
pnum = indexes.CharField(null=True)
anum = indexes.CharField(model_attr='anum', null=True)
ititle = indexes.CharField(model_attr='ititle', null=True)
de = indexes.CharField(null=True)
cs = indexes.CharField(null=True)
ab = indexes.CharField(null=True)
in = indexes.CharField(null=True)
as = indexes.CharField(null=True)
pt = indexes.CharField(null=True)
main_text.text:
{{ object.pnum }}
{{ object.anum }}
{{ object.de }}
{{ object.cs }}
{{ object.ab }}
{{ object.in }}
{{ object.as }}
{{ object.ititle }}
{{ object.ps}}
答案 0 :(得分:0)
任何索引的好处在于它可以防止过多的处理查询,因此索引可以预处理,其结果是地图和树形状的元信息,指向真实数据以简化查询工作。 / p>
您应该只对可搜索的数据有索引。