Google 必须启用/激活生产中的 App Engine 分面搜索?
Google App Engine Faceted Search in production has to be enabled / activated?
我刚刚在我的机器上本地创建了一个完美的 运行 分面搜索服务,使用 Google App Engine 分面搜索,用 Python 编写。
一旦我部署到我们的生产服务器,它就会在索引创建期间抛出错误,特别是当代码尝试执行 index.put(docs) 时,其中 docs 是一个数组[最多 100] search.Document.
错误是:“PutError:一个或多个放置文档操作失败:值为空”
然后我尝试退回我的服务的前一个版本,直到那时它的工作都很顺利。我删除了所有新添加的 search.TextField 并从中删除了 facets=[search.AtomFacet(...)] search.Document 构造函数关键字。
它又开始工作了。
然后,宝贝再次向前迈进,我已经添加了我需要的所有字段,但构造函数中仍然没有 facets=[] 。它起作用了。
只要我再次添加 facets=[search.AtomFacet(name='propName', value=doc.propName if doc.propName else '')] 然后错误又出现了。在我的本地机器上,它运行完美。
是否需要在生产服务器上启用任何设置/配置才能拥有此功能?
谢谢
构面值不能为空字符串。您可以通过不包括具有空值的构面或为您的空构面设置特殊值来解决此问题。分面搜索的本地实现 (python) 目前接受空分面,这是一个错误,将得到修复。
我直接从 google 团队收到了答复,即:
Facet value cannot be empty string. You can workaround this by not
including facets with empty values or have a special value for your
empty facets (not recommended as empty facets normally means that
document does not belong to the specified category/facet, so it should
not be counted in aggregation of that facet). The local implementation
of faceted search (python) currently accepts empty facets that is a
bug and will be fixed.
来自 this thread 可能有兴趣关注对话的人。
我刚刚在我的机器上本地创建了一个完美的 运行 分面搜索服务,使用 Google App Engine 分面搜索,用 Python 编写。 一旦我部署到我们的生产服务器,它就会在索引创建期间抛出错误,特别是当代码尝试执行 index.put(docs) 时,其中 docs 是一个数组[最多 100] search.Document.
错误是:“PutError:一个或多个放置文档操作失败:值为空”
然后我尝试退回我的服务的前一个版本,直到那时它的工作都很顺利。我删除了所有新添加的 search.TextField 并从中删除了 facets=[search.AtomFacet(...)] search.Document 构造函数关键字。 它又开始工作了。
然后,宝贝再次向前迈进,我已经添加了我需要的所有字段,但构造函数中仍然没有 facets=[] 。它起作用了。
只要我再次添加 facets=[search.AtomFacet(name='propName', value=doc.propName if doc.propName else '')] 然后错误又出现了。在我的本地机器上,它运行完美。
是否需要在生产服务器上启用任何设置/配置才能拥有此功能?
谢谢
构面值不能为空字符串。您可以通过不包括具有空值的构面或为您的空构面设置特殊值来解决此问题。分面搜索的本地实现 (python) 目前接受空分面,这是一个错误,将得到修复。
我直接从 google 团队收到了答复,即:
Facet value cannot be empty string. You can workaround this by not including facets with empty values or have a special value for your empty facets (not recommended as empty facets normally means that document does not belong to the specified category/facet, so it should not be counted in aggregation of that facet). The local implementation of faceted search (python) currently accepts empty facets that is a bug and will be fixed.
来自 this thread 可能有兴趣关注对话的人。