Google Cloud 是否提供 "server-less" 搜索 API?

Does Google Cloud offer "server-less" search API?

Google 为 GCP 提供数据存储,即 CQRS 中的 "C"。但是,"Q"(查询)在哪里?

数据存储有两个非常大的限制,这可能是有道理的,使其成为一个可行的查询系统:

  1. 没有潜台词搜索
  2. 不对字段进行排序,除非它们已被过滤

Google Cloud 提供了一个 "App Engine Search API",但这不是端点 API。它是一个图书馆 API。意思是,必须管理它周围的基础设施。

使用 Datastore,其中一个优点是我可以通过规则以 "server-less" 的方式管理访问,这样我的客户端应用程序就可以直接处理 Datastore(即 "server-less")。

使用搜索 API,我必须编写一个应用程序来使用四种受支持语言中的一种为我的文档编制索引、公开端点、管理可伸缩性...破坏使用 Datastore 等无服务器服务的目的,如果无论如何,我必须手动完成所有这些。

Google Cloud 是否以无服务器方式在搜索、过滤和排序方面为 Datastore 提供了更多的补充?他们会吗?

With Datastore, one of the advantages is that I can manage access via rules in a "server-less" way, so that my client app can directly deal with the Datastore (I.e "server-less").

我认为 Datastore 的安全模型不够强大,无法直接进行远程客户端(例如网络浏览器)访问。具体来说,即使 IAM for Datastore it is missing record-level permissions. The Firebase Realtime Database with its security rules 似乎更合适。

With search API, I must write an application to index my documents using one of four supported languages, expose end points, manage scalability

同样,您不能直接通过远程客户端访问搜索 API。然而,搜索 API 旨在与 AppEngine 一起工作,后者为您管理个人 machines/instances 并实施 autoscaling based on request rate and response latencies.

也许要获得真正的 'serverless' 设置,您可以结合使用 Firebase 和 Algolia as described here