【问题标题】:Wildcard search in CloudSearchCloudSearch 中的通配符搜索
【发布时间】:2017-05-05 18:07:18
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services lucene amazon-cloudsearch


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      numericField:[330 TO 339]

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

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

      numericFieldAsText:33*

      这将匹配33331333330001 等。

      【讨论】:

      • 我没有数字字段的文本表示。有什么方法可以在数字字段上获得相同的结果而无需添加另一个具有数字字符串表示的字段
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 2011-07-10
      • 1970-01-01
      • 2011-03-14
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多