问题标签 [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.

0 投票
2 回答
189 浏览

google-app-engine - 如何为数据存储插入建模地理?

我有一个原始数据模型,用户可以插入应该有城市和地区的内容。为与多个城市相关联的文章做准备(例如,在两个或多个城市中提供相同的产品将成为只有一篇带有城市列表的文章,而不是针对该文章所连接的每个城市的重复文章至)。

所以我可以设法制作存储和视图,但数据模型不好。

在插入时,它被编码:

这会产生冗余并且不是很漂亮(而不是在 1NF 中,因为它在字段中保存了一个列表)。

在此处输入图像描述

在为搜索 API 构建索引时,到目前为止我只使用一个城市,但我计划处理城市列表和区域列表(虽然一个城市永远不可能在两个区域中,所以除了城市列表之外的所有内容实际上都是多余的,但是我节省了冗余以避免在搜索和视图中进行冗长的查找)。我想知道我是否正确使用了引用属性和键,以及使用 NDB 模型是否会更好?

0 投票
1 回答
287 浏览

google-app-engine - 如何按相关性对 appengine 搜索索引结果进行排序?

我正在开发一个项目,该项目使用 Google App Engine 的文本搜索 API 来允许用户搜索包含单词字段的文档。我正在使用 MatchScorer 进行排序,根据文档“根据文档中的词频分配分数”。

当用户输入“商业促销”之类的查询时,我将其转换为看起来像words:business OR words:promo. 我原以为这会在只包含其中一个词的文档之前返回包含“商业”和“促销”这两个词的文档(因为文档说它根据文档中的词频分配分数)。但是,我经常看到在包含两个单词的文档之前只包含一个单词的结果。

我也尝试过使用RescoringMatchScorer进行查询,但是使用这个记分器看到了同样的问题。

我考虑过进行单独的查询 - 那些 AND 搜索词和那些 OR 搜索词 - 但是如果用户输入两个以上的搜索词,这将需要许多查询。例如,如果我搜索“高级业务解决方案”,我需要这样的查询来涵盖所有基础:

有没有人有任何关于如何在不太相关的结果之前执行返回更多相关结果(即更多搜索词匹配)的搜索的提示?

0 投票
1 回答
130 浏览

python - 如何使用 appengine 搜索 API 引用文档语言?

我可以将文档添加到索引并搜索索引,但如何按语言过滤?例如只有英文文档?

我用代码搜索:

但是如何只搜索英文文档?

0 投票
1 回答
264 浏览

google-app-engine - SortExpression Google App Engine 搜索“distance()”的默认值应该是什么?

我有这样的 SortExpression:

应该是default_value为了distance()什么?

目前sys.float_info.max适用于 SDK,但在生产中产生错误:

0 投票
2 回答
260 浏览

google-app-engine - 如何在 Google App Engine 生产搜索中使用 unicode 值查询 atom 字段?

我使用 Google App Engine 搜索编写了一些文本搜索。

在 SDK 中,我在 atom 字段上测试了这样的查询:

在生产中,我运行相同的查询,但它不适用于相同的数据。

如何对 atom 字段进行 unicode 查询?

是否可以在 Google App Engine 搜索中使用 unicode?

0 投票
1 回答
620 浏览

python - 使用 Google App Engine 和 Search API 进行邻近搜索

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

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

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

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

0 投票
1 回答
52 浏览

java - 如何使用密钥将数据存储与文档链接

如果有人可以帮助我解决这个问题,我将非常感激,因为我已经花了很多时间。

我的应用程序的前端将员工数据发送到服务器端,服务器端创建 Emmployee 对象并将数据保存在数据存储中。我的应用程序提供了标题、公司和 jobDesc 的关键字搜索功能,因此我使用的是 Search Api。

问题是我想使用数据存储来存储完整的数据和文档来存储可搜索的数据。如何将数据存储与文档链接?我知道如果我将员工的密钥设置为文档 ID 可以实现,但问题是我将如何获取正在存储的数据的密钥。如果我尝试使用 e.getKey() 获取密钥,显然会返回 nullPointerException,因为它当时确实拥有密钥。

我可以通过读取存储在数据存储中的所有员工数据并使用它创建文档并将员工的密钥设置为文档 ID 来实现这一点,但我想在从应用程序前端接收数据时创建文档。

0 投票
0 回答
138 浏览

java - 为什么即使在生产应用程序中使用 App Engine 的 Search Api 进行距离搜索也不返回匹配项?

我正在尝试运行距离搜索以检索给定地理点附近的索引位置,但即使对于已部署的应用程序版本,我也总是得到零匹配。我也尝试通过 App Engine 控制台运行搜索,但仍然找不到任何匹配项。

这是我的索引: 在此处输入图像描述

这些是查询字符串和结果: 在此处输入图像描述

有人可以帮我弄清楚出了什么问题吗?

非常感谢你的帮助!!

0 投票
1 回答
76 浏览

google-app-engine - GAE-Search 文档字段名称长度是否会影响数据大小(进而影响成本)

GAE-Search 是否将字段名称保留在每个文档中或在顶层?如果它在每个文档中保留(并传输)字段名称,我将需要最小化字段名称长度以减少存储和网络成本,否则我可以使名称更具可读性。

0 投票
2 回答
498 浏览

google-app-engine - 在 GAE 上删除搜索文档时出现短暂错误(一致)

我们的一个 GAE 应用程序出现了一致的错误(堆栈跟踪如下)。有谁知道这可能是什么原因造成的?它会抛出一个瞬态错误(这应该是一个短暂的错误),但我们一直得到这个错误。

堆栈跟踪

com.google.appengine.api.search.DeleteException:暂时错误。已超过 RPC 截止日期。在 com.google.appengine.api.search.IndexImpl$2.convertException(IndexImpl.java:217) 在 com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:94) 在 com.google.appengine。 com.google.appengine.api.search.FutureHelper.quietGet(FutureHelper.java:32) 在 com.google.appengine.api.search.IndexImpl.delete( IndexImpl.java:480)

代码

谢谢,迈克