我刚刚使用Python编写的Google App Engine方面搜索在计算机上本地创建了运行良好的方面搜索服务。
一旦部署到生产服务器,它就会在索引创建期间引发错误,特别是当代码尝试执行index.put(docs)时,其中docs是[max 100] search.Document的数组。

错误为:“ PutError:一个或多个放置文档操作失败:值为空”

然后,我尝试返回到以前的服务版本,直到此之前,它一直是一种魅力。我删除了所有新添加的search.TextField,并且从search.Document构造函数关键字中删除了facets = [search.AtomFacet(...)]。
它再次开始工作。

然后,宝贝再次前进,我添加了我需要的所有字段,但在构造函数中仍然没有facets = []。我再次添加facets = [search.AtomFacet(name ='propName',value = doc.propName if doc.propName else'')]后,错误再次出现。虽然在我的计算机上本地运行,但运行良好。

我们需要在生产服务器上启用任何设置/配置才能具有此功能吗?

谢谢

最佳答案

构面值不能为空字符串。您可以通过不包含具有空值的构面或为空构面具有特殊值的方法来解决此问题。多面搜索(python)的本地实现当前接受空的多面,这是一个错误,将得到修复。

关于python - 必须启用/激活生产中的Google App Engine刻面搜索吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29241797/

10-08 21:33