如何使用App Engine Search API为Android使用端点

时间:2014-11-18 15:14:51

标签: android google-cloud-endpoints google-app-engine

我需要存储很多(从100k到1000万之间)经度/纬度(geo)点,并附加一些额外的变量。当用户登录我的Android应用程序时,它将请求半径范围内的所有地理位置。

我已经阅读了有关stackoverflow的博客,文档和问题,并得出结论,最佳匹配是将Google App Engine与App Engine Search API结合使用,并将端点连接到我的Android应用程序。

我最近关注this tutorial并成功让我的Android应用程序从App Engine数据存储区获取数据,因此端点方面(或多或少)覆盖了。

我有以下问题:

  1. App Engine,Search API和端点的组合是否有意义?
  2. 通过上面的教程,我的应用程序从Datastore检索数据。它应该实际从Search API检索。我目前的端点设置是否可行? This tutorial显示了如何在索引中创建,添加和检索(搜索)文档。可以将该教程的代码插入到我的端点的Appengine端吗?
  3. 对于我的目标,或者可能更好,上述设置的任何开源示例,是否有任何关于此的错误教程(除了上面列出的两个)之外?
  4. 重要编辑:我正在用Java编写App Engine。

    提前致谢,

    (我是App Engine,Endpoints和Search API的新手,试图找到自己的方式并快速学习。)

1 个答案:

答案 0 :(得分:1)

  1. 这种组合确实有意义。 App Engine作为一个平台是如此强大,因为您可以访问许多API和服务,如搜索API和工作流程的增强功能,如Endpoints系统,而不是简单地定义API servlet和您自己的协议(或实现jsonrpc2.0,例如)
  2. 是的,您可以使用端点API函数来运行您可以在应用中的任何其他位置运行的任何类型的代码。您可以让端点getNearbyPoints(GeoPoint p)函数运行搜索API查询并返回结果。为了将这些全部链接在一起,我建议将数据存储中的一个点作为一个实体存储完整的数据(你提到有很多元数据),但是在相应的"文档"在搜索API中,仅存储此实体的数据存储区ID,以便您的端点API函数代码可以使用搜索API按距离点p进行查询,然后将结果转换为完整对象以进行发送。
  3. 您可以查看these其他resources。不确定您是否阅读过任何或所有内容,但无论如何它们都包含有价值的信息。