问题标签 [gae-search]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - sort_options 仅在 query_string 不为空时应用?
试图弄清楚这是一个错误还是设计使然。当没有为查询指定 query_string 时,SearchResults 对象不按请求的列排序。例如,这里有一些日志来显示问题:
结果未排序返回 return index.search(query)
:
query_string = ''
sort_options string: search.SortOptions(expressions=[search.SortExpression(expression=u'firstname', direction='ASCENDING', default_value=u'')], limit=36)
返回的结果按以下顺序排序 return index.search(query)
:
query_string = 'test'
sort_options string: search.SortOptions(expressions=[search.SortExpression(expression=u'firstname', direction='ASCENDING', default_value=u'')], limit=36)
这就是我为这两种情况(options
haslimit
和参数)构建查询offset
的方式:sort_options
query = search.Query(query_string=query_string, options=options)
google-app-engine - 当 GAE(Google App Engine)搜索 API 服务退出实验时,配额和定价将是多少
如果没有关于 Search API 的预期配额或定价的信息(当然对于计费应用程序),考虑迁移到 GAE 的人几乎不可能建议继续进行甚至调查此选项。这两个变量是查看搜索 API 时首先要考虑的变量。我们知道缺少一些功能,但是基础知识就在那里。
通过向我们提供一些对此的见解,您肯定会吸引更多的人来调查和尝试 GAE。
google-app-engine - 我应该多久重建一次 App Engine 搜索索引(全文搜索)?
看起来——至少现在是这样——我必须手动保持搜索索引与数据存储同步。如果我每次在数据存储中发生更改时都重建索引,我假设我会遇到配额问题,所以我认为创建一个 cron 作业来定期重建索引会更好。我应该多久重建一次索引以避免遇到配额问题?
google-app-engine - 如何使用 Google App Engine Search API 找到最近的文档?
我在GAE 搜索索引中有大约 400,000 个文档。所有文件都有一个location
GeoPoint
属性,并且分布在全球各地。一些文件可能与任何其他文件相距超过 4000 公里,而另一些文件可能彼此相距几米。
我想找到最接近特定坐标集的文档,但发现以下代码给出了不正确的结果:
使用此代码,我将获得一致但不正确的结果。例如,搜索离伦敦最近的文件表明最近的文件在苏格兰。我已经证实有成千上万的更接近的文件。
我将问题缩小到radius
参数太大。如果半径降至 12 公里左右(radius=12000
),我会得到正确的结果。12公里半径内一般不超过1000个文档。(可能与 相关search.SortOptions(limit=1000)
。)
问题是,如果我在地球上一个数千英里没有任何文件的稀疏区域,我的搜索功能将不会返回任何radius=12000
(12 公里)。无论我身在何处,我都希望它能够将最近的文件返回给我。如何通过一次调用 Search API 来始终如一地完成此任务?
google-app-engine - Appengine Search API 按日期和时间搜索
我想知道如何有一个自纪元日期时间字段(例如 1362960734565)以来的毫秒,我可以轻松搜索(例如在 1234560123456 之后创建的所有文档),或者我是否需要实现一些方法来拆分日期或将其放入另一个格式,因为它不能用作数字或日期。
根据 Google 的搜索 API 文档(https://developers.google.com/appengine/docs/java/search/overview#Describing_Data_with_Documents):
文档字段
每个文档都包含将包含特定类型内容的字段。内容类型由字段构建器标识,以设置字段的内容类型,如下所示:
- 文本:纯文本
- HTML:HTML 格式的文本
- ATOM:被视为单个标记的字符串
- NUMBER:介于 2,147,483,647 和 -2,147,483,647 之间的数值(浮点数或整数)
- DATE:没有时间成分的日期
- GEO_POINT:基于经纬度的语言环境
google-app-engine - 无论如何用 GAE 的搜索 API 进行 GROUP BY 和 COUNT 吗?
我刚开始使用 GAE 的搜索 API,我正在寻找相当于 SQL group by count 语句的功能。目前是否存在类似的情况?
google-app-engine - Google App Engine - 在指定距离内搜索位置返回零结果
使用 GAE Search API (1.7.6) 按距离搜索地理位置总是返回零结果...
我构建以下查询:distance(geoLocation, geopoint(27.241131, -82.464445)) < 16093 /* 10 Miles in meters */
尽管我在距离内有地理点,但结果始终为零。例如,我的搜索原点在这种情况下lat: 27.241131, lgn: -82.464445
,范围内的地理点之一是lat:27.233247, lng-82.48819800000001.
当我使用谷歌地图 api v3 计算距离时,如下所示:
这就是我将地理点与其他字段一起存储的方式
后来我做
这里有什么问题?我知道 Search 有效,因为当我按不同于地理点的其他字段进行搜索时,它会返回结果。
搜索ID是这样完成的:
在哪里query_str = distance(geoLocation, geopoint(27.241131, -82.464445)) < 16093
更新
我正在使用索引存储的地理点进行测试并获取 search.SearchResults(number_found=0L)。问题:这是否可以在开发环境中工作?
帮助表示赞赏!!!!
google-app-engine - IOException:更改了索引规范
我正在使用 Eclipse Juno/Google Plugin for Eclipse 开发 GWT 2.5.1 和 GAE/J 1.7.6 Web 应用程序,并且我正在尝试使用 Search API。升级到 1.7.6 GAE SDK 后,开始发生以下情况:
- 当应用程序在 GAE 开发模式下运行并且我的索引被填充时,它随后可以通过编程方式访问。
如果开发模式被终止并重新启动,程序访问尝试将失败(不返回结果),如下所示:
/li>
由于 Search API 正在开发中,我更愿意使用带有最新错误修复和改进的 SDK。有人对异常的原因有任何建议吗?
更新
已在 App Engine SDK for Java 版本 1.7.7.1 中修复,可从App Engine 下载页面获取。
google-app-engine - GAE Java 搜索 API:QueryOptions.Builder.setLimit(int) 的可接受范围是多少
显然,当前返回文档数量的默认查询限制为 20。可以使用QueryOptions.Builder.setLimit()
. Java 开发文档似乎没有指明允许的最大值。
我的应用程序中索引了数千条记录,搜索可能会返回大量对象。MAX_QUERY_RESULTS = 1000
有没有办法以编程方式访问此搜索配额,而不是在应用程序中进行硬编码?
python - Google App Engine - 使用带有列表字段的 Search API Python
我正在使用 ndb.Model。搜索 API 具有以下字段类:
假设我有一个“标签”字段,它是一个列表字段:
我应该如何对待这个领域search.Document
?
现在我正在把tags
列表变成一个字符串:
接着:
有什么建议么?