ES的向量检索引擎使用C++实现,使用的是堆外内存,该插件提供了接口对向量索引的缓存进行管理。
- 查看缓存统计信息
GET /_vector/stats
在向量插件实现中,向量索引与Lucene其他类型索引一样,每一个segment构造并存储一份索引文件,在查询时,该索引文件会被加载到堆外内存中。插件使用缓存机制对这些堆外内存进行管理。上述API能够查询当前堆外内存使用量、缓存命中次数、加载次数等信息。
- 预加载向量索引
PUT /_vector/warmup/{index_name}
使用上述接口能将指定index_name的向量索引预加载至堆外内存供查询使用。
- 清除缓存
PUT /_vector/clear/cache
PUT /_vector/clear/cache/index_name
在使用向量索引时,缓存机制会限制堆外内存使用量。当总索引大小超出缓存大小限制时,将会发生索引项的换进换出,此时将会影响查询的性能。通过清除缓存API能够将不再使用的索引缓存清空,保证热数据索引的查询性能。