搜索 (GraphQL | gRPC)
API
Weaviate 提供 GraphQL 和 gRPC API 用于查询。
我们建议使用 Weaviate 客户端库,它抽象了底层的 API 调用,使将 Weaviate 集成到您的应用程序中更加容易。
但是,您可以使用 GraphQL 通过向 /graphql 端点发送 POST 请求直接查询 Weaviate,或者根据 gRPC protobuf 规范编写您自己的 gRPC 调用。
所有参考
所有参考都有各自的子页面。单击下面的某个参考以获取更多信息。
GraphQL API
为什么选择 GraphQL?
GraphQL 是一种基于使用图数据结构的查询语言。它是一种高效的数据检索和修改方法,因为它减轻了其他查询语言常见的过度获取和获取不足的问题。
GraphQL 区分大小写 (参考),因此请确保在编写查询时使用正确的的大小写。
查询结构
您可以按如下方式将 GraphQL 查询 POST 到 Weaviate
curl https:///v1/graphql -X POST -H 'Content-type: application/json' -d '{GraphQL query}'
GraphQL JSON 对象定义如下
{
"query": "{ # GRAPHQL QUERY }"
}
GraphQL 查询遵循定义的结构。查询的结构如下
{
<Function> {
<Collection> {
<property>
_<underscore-property>
}
}
}
限制
GraphQL 整数 数据当前仅支持 int32,不支持 int64。这意味着当前 Weaviate 中具有大于 int32 的整数值的整数数据字段将无法使用 GraphQL 查询返回。我们正在努力解决此 问题。当前的解决方法是使用 string 代替。
一致性级别
GraphQL (Get) 查询以可调整的 一致性级别 运行。
gRPC API
从 Weaviate v1.19.0 开始,gRPC 接口正在逐步添加到 Weaviate 中。
gRPC 是一种高性能、开源的通用 RPC 框架,基于合约,可用于任何环境。它基于 HTTP/2 和 Protocol Buffers,因此非常快速和高效。
在此处了解有关 gRPC API 的更多信息。
问题和反馈
如果您有任何问题或反馈,请在 用户论坛 中告诉我们。
