如何减少索引使用的内存?
上次更新时间:2024 年 3 月 22 日
问题
如何减少使用 FT.CREATE
创建的索引使用的内存?
答案
找到一些技巧来了解如何减少索引的内存消耗。
- 声明索引时,
NOINDEX
表示该字段未建立索引。 这对于存储您不想搜索的文本非常有用,但您仍然希望在搜索结果中检索它。 - 审核您的
TEXT
索引。 当术语的频率很高时,TEXT
会创建一个倒排索引,该索引可能很大。 如果存储的数据是一个简单的字符串,TAG
可能是一个更方便的选择。 并非所有内容都应被视为TEXT
。 - 通过使用
NOHL
禁用高亮显示,您可以节省存储空间和内存 - 如果您不需要按文档中给定术语的频率进行排序,则可以在索引创建时对给定字段使用
NOFREQS
参数 - 如果您不需要对结果进行排序,则可以省略
SORTABLE
参数。 对结果进行排序的能力会增加内存开销,因此请考虑不要在大型文本属性上声明它。SORTABLE
通常实际上可以从TEXT
中删除,在全文搜索用例中,您不太可能希望按字段数据的内容进行排序。 全文搜索的排序通常是使用搜索的相关性来完成的