减少Haystack索引占用的硬盘空间

时间:2014-04-01 01:48:37

标签: indexing django-haystack

如何最小化干草堆索引占用的硬盘空间?索引占用的空间比整个数据库多,哈哈!我正在索引大部分文本。

我正在考虑删除所有数字和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}}

1 个答案:

答案 0 :(得分:0)

任何索引的好处在于它可以防止过多的处理查询,因此索引可以预处理,其结果是地图和树形状的元信息,指向真实数据以简化查询工作。 / p>

您应该只对可搜索的数据有索引。