我需要对CloudSearch上的数字执行通配符查询。在文本数据上进行操作很简单 - > xy *但是在为数字字段运行相同查询时会出错。我使用lucene作为查询解析器。请建议是否可以使用任何其他解析器。
答案 0 :(得分:0)
数字字段不支持通配符搜索。从您的问题来看,目前尚不清楚您期望得到什么样的结果。
如果您希望匹配一系列数字,则可以使用范围查询:
numericField:[330 TO 339]
将匹配numericField
大于或等于330且小于或等于339的文档。
另一方面,如果您希望找到第一个和第二个数字为三的所有文档,例如,您将需要另一个包含该数字的字符串表示的文本字段。你会像这样搜索:
numericFieldAsText:33*
这符合33
,331
,333
,330001
等。
答案 1 :(得分:0)
如果是结构化查询,您可以将过滤查询用作(and (prefix field=field_name 'xy'))
。
但如果它是一个简单的查询,那么你可以在搜索中直接使用xy *。