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

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

问题

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

回答

查找一些提示,以了解如何减少索引的内存占用。

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