问题标签 [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.
google-app-engine - GAE 数据存储搜索不适用于本地开发实例 (Java)
我的本地 Java Google App Engine 实例似乎可以很好地索引搜索文档,但在运行搜索时开始抛出异常。包括代码片段和异常。蒂亚!
搜索代码:
例外:
java.lang.NullPointerException at com.google.appengine.repackaged.com.google.appengine.api.search.SearchServicePb$ListDocumentsResponse$Builder.addDocument(SearchServicePb.java:13298) at com.google.appengine.api.search.dev .LocalSearchService.listDocumentsForApp(LocalSearchService.java:527) 在 com.google.appengine.api.search.dev.LocalSearchService.getFieldTypes(LocalSearchService.java:710) 在 com.google.appengine.api.search.dev.LocalSearchService.searchForApp (LocalSearchService.java:564) 在 com.google.appengine.api.search.dev.LocalSearchService.search(LocalSearchService.java:547) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:525) 在 com.google.appengine.tools 的 java.lang.reflect.Method.invoke(Method.java:606) .development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:479) 在 com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:456) 在 java.util.concurrent.Executors$PrivilegedCallable$1。在 java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:490) 在 java.util.concurrent.FutureTask.run( FutureTask.java:262) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker。在 java.lang.Thread.run(Thread.java:744) 处运行(ThreadPoolExecutor.java:615)
google-app-engine - 我的 GAE 搜索是否已损坏?
我在 GAE 搜索应用程序中有一个索引。
当我打电话时,index.put
我得到OverQuotaError: The API call search.IndexDocument() required more quota than is available.
当我到达 GAE 控制台并在搜索下查看时,我的索引articleIndex
不包含任何文档,但它Amount Used
是 78.2KB。我也尝试过检索文件,但没有返回任何文件。
我尝试使用新索引,但我可以在我的应用程序日志中显示相同的错误消息。
我有一个我的应用程序的副本,并且可以继续正常工作 - 它使用相同的代码和数据,但在一个单独的应用程序空间中。
我使用“损坏”安装中的代码创建了一个新应用程序,并且新安装索引很好。
有没有人有一个 GAE 搜索索引,虽然是空的,但被列为占用空间?
google-app-engine - 在 GAE 文本搜索中查询部分日期的优化方式是什么?
需要使用 Google App Engine 文本搜索按月而不是完整日期值(例如生日)过滤实体。在验证 GAE 文档时,我认为不可能直接按月查询日期字段。
因此,为了按月/日期过滤它们,我们考虑将每个日期子值(如 Date(DD)、Month(MM) 和 Year(YYYY))保存为单独的 NUMBER 字段以及完整的日期字段。
我在本地验证了我们可以通过这样的保存来实现。但是,当我们要查询日期子值时,这是通过拆分每个字段来保存日期的正确方法吗?
除了 GAE 文本搜索中的 10GB 大小限制之外,每个文档的字段数是否有任何已知/未知限制?
请给我建议。
谢谢,纳雷什
java - Google App Engine:未找到 API 包“搜索”或调用“IndexDocument()”
使用 Google App Engine 的搜索 API,我正在尝试将一些文档索引到测试索引中。我正在使用 Google App Engine 官方文档中给出的代码示例。但是当我尝试运行下面的代码段时。当我通过以下方式放置文档时出现以下错误index.put
:
线程“主”com.google.apphosting.api.ApiProxy$CallNotFoundException 中的异常:未找到 API 包“搜索”或调用“IndexDocument()”。在 com.google.apphosting.api.ApiProxy$1.get(ApiProxy.java:179) 在 com.google.apphosting.api.ApiProxy$1.get(ApiProxy.java:177) 在 com.google.appengine.api.utils .FutureWrapper.get(FutureWrapper.java:88) 在 com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:88) 在 com.google.appengine.api.search.FutureHelper.getInternal(FutureHelper.java :73) 在 com.google.appengine.api.search.FutureHelper.quietGet(FutureHelper.java:32) 在 com.google.appengine.api.search.IndexImpl.put(IndexImpl.java:486) 在 test.service。 SearchingService.indexADocument(SearchingService.java:52)
这是代码片段:
我正在将 appengine-java-sdk-1.9.18 与 Eclipse Kepler 一起使用。我是在本地开发服务器上运行代码还是在 apppot 上托管的生产环境中运行代码都没有关系。我犯了同样的错误。我已经在 Eclipse 中通过我的谷歌帐户进行身份验证,并且能够通过 Eclipse 将我的代码推送到生产环境中。以前有人见过这个错误吗?
google-app-engine - How to delete a search index on the App Engine using Go?
I am wondering what is the best way to delete a search index of the full text search API that is available on the Google App Engine. I have found a few questions on this topic focusing on Python, but none on Go. The general suggestions seems to be to manually delete all documents in the search index and than call index.delete_schema()
, see for example[0].
However, for Go there seems to be no function to delete a schema. I have used a task queue to remove every document in an index, but the size of the index shown in the App Engine Dashboard did not decrease.
google-app-engine - Google App Engine TextSearch 更新/删除 15,000 每分钟配额限制例外
当我们更新文本搜索文档时,我们得到以下配额限制异常,
com.google.apphosting.api.ApiProxy$OverQuotaException:API 调用 search.IndexDocument() 需要的配额超过了可用配额。在 org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:365) 在 org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233) 在 org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException (SynchronousDispatcher.java:209)
和代码是
公共 SearchService searchService = SearchServiceFactory.getSearchService();
公共索引 index = searchService.getIndex(IndexSpec.newBuilder().setName("contacts"));
Document.Builder 文档 = Document.newBuilder();
docs.addField(Field.newBuilder().setName("first_name_start").setText(first_name.substring(0, 1)));
index.put(文档);
对解决它有什么建议吗?
google-app-engine - 按用户限制 GAE 搜索 API 结果
我们有一个用例,用户必须能够搜索仅在他们有权访问的组中可用的内容。搜索必须跨越他们有权访问的所有组。
一些细节:一个组有很多帖子,一个用户可以访问数百个组和每个组内的数千个帖子。搜索“Foo”应返回名称中包含“Foo”的所有组和他们有权访问的组中的所有帖子,并且内容中包含“Foo”。
我想处理它的方法是在每个文档索引上关联一个 user_id 列表,然后在查询字符串中包含 user_id 以验证用户是否具有访问权限。返回结果后,我们可以在返回结果之前进行额外检查以查看他们是否可以访问内容。
文档索引是这样的:
我对上述方法的担忧:每个订阅组的新用户都需要重新索引搜索索引以在每个文档中包含他们的 user_id。
有没有更好的方法来处理这个用例?
谢谢罗伯
google-app-engine - App Engine Search 上的简单查询不起作用
我在 Search API 的索引中有以下数据。name 和 slug 字段是 TextFields。
我正在尝试很多查询字符串选项,但无法获得正确的行。
我最后的尝试:
index.search('config')
index.search('~config')
index.search('name:~config')
index.search('slug:~config')
如果我尝试:index.search('customers')
我收到一排。但是如果删除最后一个s
,那么我不会收到任何行。
有人可以解释一下为什么吗?
问候,
阿曼多
google-app-engine - 有人可以帮我使用 Java 在 Google 云搜索索引中添加一个新列吗
我尝试向现有搜索索引添加一个新列,但它引发错误,错误如下所述:- 字段 docname 出现 0 次;预期 1 java.lang.IllegalArgumentException:字段 docname 出现 0 次;预计 1
我可以看到新列已添加到搜索索引但无法检索索引。
根据我的观察,我可以看到索引中的现有记录没有新的列数据,因此它给出了这个错误,但新记录将具有这个列值。谁能帮我这个。
python - Appengine 搜索 API - 无效请求
我正在使用搜索 API(在 Google App Engine Python 标准环境中使用 Search API ( https://cloud.google.com/appengine/docs/standard/python/search/ )。
在我的应用程序中,我有几个搜索索引并使用光标分页查询它们(分页分页不能返回超过 1000 个结果) https://cloud.google.com/appengine/docs/standard/python/search/cursorclass
有时我随机得到以下异常:
InvalidRequest:无法执行搜索请求“<搜索查询>”
没有进一步的细节。如果我在某些查询中得到它,它将永远用这样的光标重现。
- 项目集在请求之间是不可变的(不添加或删除项目)
- 查询的第一页总是好的(只有当我用光标查询时才会出现异常)
- 我没有使用任何排序
- 游标与先前查询收到的完全相同,并且在请求之间没有损坏
任何想法如何解决这个问题?
有关的:
https://issuetracker.google.com/issues/35898069
https://issuetracker.google.com/issues/35895008
https://groups.google.com/forum/#!topic/google-appengine/tBHkZLeYTOI