CloudSearch 中的通配符搜索

Wildcard search in CloudSearch

我需要在 CloudSearch 上对数字执行通配符查询。在文本数据上执行此操作很容易 -> xy* 但在 运行 对数字字段进行相同查询时会出错。我正在使用 lucene 作为查询解析器。请建议是否可以使用任何其他解析器。

数字字段不支持通配符搜索。从您的问题来看,不清楚您期望得到什么样的结果。

如果您希望匹配一个数字范围,那么您可以使用 范围查询

numericField:[330 TO 339]

将匹配 numericField 大于或等于 330 且小于或等于 339 的文档。

另一方面,如果您希望找到第一个和第二个数字为三的所有文档,例如,您将需要另一个包含数字字符串表示形式的文本字段。您可以这样搜索它:

numericFieldAsText:33*

这将匹配 33331333330001

如果是结构化查询,您可以将过滤查询用作 (and (prefix field=field_name 'xy'))。 但如果是简单的查询,那么你可以直接在搜索中使用xy*。