API
Weaviate 提供了多个应用程序编程接口 (API) 来与数据库交互、管理实例和执行搜索。Weaviate 暴露了三个主要的 API
-
RESTful API:能够几乎完全管理 Weaviate 实例。
- 包括管理集合(创建、读取、更新、删除集合及其定义)、对单个数据对象执行基本的 CRUD(创建、读取、更新、删除)操作、检查节点状态、备份以及管理集群健康状况等操作。
-
搜索 API - GraphQL:专为数据查询和探索而设计。
- 能够执行复杂搜索操作,包括语义(向量)搜索(
nearText、nearVector等)、关键词搜索(bm25)、混合搜索、过滤、检索特定数据属性、聚合以及探索数据对象之间的连接(交叉引用)。
- 能够执行复杂搜索操作,包括语义(向量)搜索(
-
搜索 API - gRPC:对于需要高性能数据操作而言,是 GraphQL 的一种替代方案。
- gRPC 正在逐步实现用于各种 Weaviate 操作,特别是侧重于搜索/查询功能和批量数据导入。它利用 Protocol Buffers 实现更快的序列化、更低的延迟以及与传统的 REST/JSON 通信相比,更有效的数据流。
客户端库和 API 使用方法
Weaviate 为这些编程语言提供官方客户端库
提示: 使用官方客户端库与 Weaviate 交互
客户端库抽象了进行直接 REST、GraphQL 或 gRPC 调用的复杂性。您使用首选语言中的惯用方法和对象与 Weaviate 交互。
现代版本的客户端库(例如,Python v4+、TypeScript v3+)被设计为**自动利用更高效的 gRPC 接口**进行搜索和查询操作,只要 Weaviate 实例支持并且您连接到该实例。它们处理协商并使用最佳协议在底层,通常只需要标准的连接详细信息(例如 REST 端点 URL 和身份验证密钥)进行设置。
问题和反馈
如果您有任何问题或反馈,请在 用户论坛 中告诉我们。
