一、使用index_factory的通用形式创建index
例如:
import faiss
dim, measure = 128, faiss.METRIC_L2
description = 'Flat'
index = faiss.index_factory(dim, description, measure)
它和通过如下形式创建index等价
import faiss
index = faiss.IndexFlatL2(d)
print(index.is_trained) # 输出为True,代表该类index不需要训练,只需要add向量进去即可
index.add(xb) # 将向量库中的向量加入到index中
print(index.ntotal) # 输出index中包含的向量总数
有关index_factory的官方文档见:https://github.com/facebookresearch/faiss/wiki/The-index-factory
其中dim是向量的维度,measure是距离计算方式,description是创建index的参数配置,由三个部分组成: 预处理组件、倒排文件、编码组件。 另外可以加一个 IDMap 前缀来指定索引对于 add_with_ids 的支持 。非倒排索引默认不支持 add_with_i