1

我正在使用 Python2.7、Google App Engine 1.9.* 和搜索 API。我存储启用位置的兴趣点。现在我想实现 GET,它从给定位置返回一定距离内的所有兴趣点。

我在Google Search API Basics 在线文档中找到的示例涉及查询结果的排序可以在github repo appengine-search-python-java中找到同样的示例作为完整的源代码包。无论查询字符串是什么,找到的兴趣点(示例中的商店)都按邻近顺序列出,最近的在前。

还有一些例子是关于如何通过一定数量的项目来限制返回值。 更复杂的搜索 API 查询教程,查询选项部分

search_query = search.Query(
query_string=query.strip(),
options=search.QueryOptions(
    limit=doc_limit,
...

但是,我的用例要求截断是距离,而不是硬性项目。有没有人有这样的例子?

4

1 回答 1

2

糟糕,没有仔细阅读,答案在同一个地方 Location-Based Queries (Geosearch)

# a query string like this comes from the client
query = "distance(store_location, geopoint(-33.857, 151.215)) < 45000"
try:
  index = search.Index(config.STORE_INDEX_NAME)
  search_results = index.search(query)
 for doc in search_results:
    # process doc ...
except search.Error:
  # ...
于 2014-05-08T13:19:17.043 回答