Skip to content

索引格式

格式 格式

本节文档记录了txtai索引格式。每个组件的设计旨在确保以编程和平台无关的方式开放访问底层数据。

如果底层库有索引格式,则使用该格式。否则,txtai使用MessagePack序列化持久化内容。

要了解这些组件如何协同工作,请阅读索引指南查询指南

ANN

用于存储向量嵌入的近似最近邻(ANN)索引配置。

组件 存储格式
Faiss 由库提供的本地文件格式
Hnswlib 由库提供的本地文件格式
Annoy 由库提供的本地文件格式
NumPy 通过np.save / np.load保存的本地NumPy数组文件
Postgres via pgvector Postgres数据库中的向量表

核心

核心嵌入索引文件。

组件 存储格式
配置 以JSON格式存储的嵌入索引配置
索引ID 使用MessagePack序列化的嵌入索引ID。仅在禁用内容存储(数据库)时启用。

数据库

数据库存储元数据、文本和二进制内容。

组件 存储格式
SQLite 使用SQLite的本地数据库文件
DuckDB 使用DuckDB的本地数据库文件
Postgres 通过SQLAlchemy的Postgres关系数据库。支持通过此库访问其他数据库。

嵌入索引的图节点和边。

组件 存储格式
NetworkX 节点和边导出到使用MessagePack序列化的本地文件
Postgres 节点和边存储在Postgres数据库中。支持其他数据库。

评分

稀疏/关键词索引。

组件 存储格式
本地索引 使用MessagePack序列化的元数据。术语存储在SQLite中。
Postgres 使用Postgres全文搜索(FTS)索引的文本