【问题标题】:Full text search on Google Cloud Datastore entities using Python 3?使用 Python 3 对 Google Cloud Datastore 实体进行全文搜索?
【发布时间】:2019-07-12 03:45:01
【问题描述】:

我想使用 Python 3 对 Google Cloud Datastore 中的实体执行全文搜索。这与 GAE 的 'Search API' 非常相似,但这是针对 Python 2.7 的。那么,我该如何使用 Python 3.7 来解决这个问题呢?另一种选择是使用像 ElasticSearch 这样的搜索即服务产品,我们需要为此启动一个看起来相对昂贵且复杂的 Compute Engine 实例。所以,我想知道是否有人可以帮助我找到像 Python 3.7 的“搜索 API”这样简单的东西。

谢谢,提前。

【问题讨论】:

    标签: python google-app-engine full-text-search google-cloud-datastore


    【解决方案1】:

    首先,您应该注意,“Search API”与数据存储搜索不同(甚至不相关)。

    在搜索 API 中,创建和维护文档索引(不是数据存储索引)是程序化的,在运行时执行,完全由应用程序负责。该索引允许执行全文(和部分文本)搜索。

    必须先创建数据存储索引,然后应用程序才能在运行时使用它们。维护索引由数据存储完成,因为实体正在被添加/删除/修改。索引中仅存在完整/完整的属性值,并且在执行搜索时必须指定这些完整的值(部分值不起作用)。只能索引长度不超过 1500 字节的字符串值,不能索引更长的字符串。

    唯一的官方suggestion 来自一个灵活的环境指南(同样缺少搜索 API 支持),您可能看到了:

    搜索服务目前在标准之外不可用 环境。您可以托管任何全文搜索数据库,例如 ElasticSearch on Google Compute Engine 并从两者访问它 标准和灵活的环境。

    您可以编写自己的应用来实现类似于搜索 API 的功能(使用底层的数据存储)。 Search API Basics 中更详细地描述了这些功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多