我有一个亚马逊云搜索域。目的是过滤“语言”字段是否存在。
并非所有对象都有语言,我希望过滤那些确实有语言的对象,但也返回那些没有任何语言的对象。
我想过滤( or language:'en' language:null )
但是,不能在字符串中传递 null。
这可能吗?如果是这样的话该怎么办呢。
如果您愿意使用 Lucene 查询解析器,您可以像这样表达您的查询:
(*:* OR -language:*) OR language:en
注:时髦的(*:* OR ...)
由于 Lucene 处理否定 OR 子句的方式,构造是必要的。
一般来说,您可以使用 Lucene 查询解析器按字段是否存在进行过滤:
所有文件包含field
: field:[* TO *]
所有文件不包含field
: -field:[* TO *]
注:如果field
是文本(文本或文字数据类型),您不需要范围查询,您可以将上面的内容缩短为:
field:*
and -field:*
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)