Google App Engine 条件字段表达式
Google App Engine conditional Field Expressions
是否可以使用条件搜索 api FieldExpression?
类似于 ->
search.FieldExpression(name='adjusted_x','Not (x = someValue) x / 2)'
因此,仅除 x 不等于 someValue 的那些值...
不幸的是,如 https://cloud.google.com/appengine/docs/python/search/options#Python_Writing_expressions 中所述,搜索 API 中表达式的 "language" 受到非常严格的限制 - "Expressions involving Number fields can use the arithmetical operators (+, -, *, /) and the built-in numeric functions" min, max, log, abs , pow, count —— 就是这样;未提供条件运算符或函数。
我建议在 https://code.google.com/p/googleappengine/issues/list 输入一个功能请求,最好有一个示例用例来支持,该用例显示了所需功能的引人注目的实用性。
我认为该功能理想情况下需要两个子功能:一些比较运算符或函数(尽管如果只是为了相等,可以使用减法,其中 0 表示相等,!= 0 不等),主要是一些条件运算符或函数(使用像 C 三元运算符 cond?iftrue:iffalse
这样的运算符语法,或者像 SQL 的 IF
函数 IF(cond, iftrue, iffalse)
这样的函数语法,我相信都可以)。
是否可以使用条件搜索 api FieldExpression?
类似于 ->
search.FieldExpression(name='adjusted_x','Not (x = someValue) x / 2)'
因此,仅除 x 不等于 someValue 的那些值...
不幸的是,如 https://cloud.google.com/appengine/docs/python/search/options#Python_Writing_expressions 中所述,搜索 API 中表达式的 "language" 受到非常严格的限制 - "Expressions involving Number fields can use the arithmetical operators (+, -, *, /) and the built-in numeric functions" min, max, log, abs , pow, count —— 就是这样;未提供条件运算符或函数。
我建议在 https://code.google.com/p/googleappengine/issues/list 输入一个功能请求,最好有一个示例用例来支持,该用例显示了所需功能的引人注目的实用性。
我认为该功能理想情况下需要两个子功能:一些比较运算符或函数(尽管如果只是为了相等,可以使用减法,其中 0 表示相等,!= 0 不等),主要是一些条件运算符或函数(使用像 C 三元运算符 cond?iftrue:iffalse
这样的运算符语法,或者像 SQL 的 IF
函数 IF(cond, iftrue, iffalse)
这样的函数语法,我相信都可以)。