如何减少索引使用的内存?

上次更新时间:2024 年 3 月 22 日

问题

如何减少使用 FT.CREATE 创建的索引使用的内存?

答案

找到一些技巧来了解如何减少索引的内存消耗。

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