【问题标题】:CloudSearch, How to find documents where a key is not defined?CloudSearch,如何查找未定义键的文档?
【发布时间】:2015-09-21 12:29:58
【问题描述】:

这里的问题很简单。使用 CloudSearch,我如何找到 NOT 定义了某个键/属性的对象。

例如。我一直在存储 Car 对象而没有索引它们的价格。现在我已经开始使用它们的 msrp 索引 Car 对象...如何找到存储的 Car 对象而没有任何索引价格?

(和价格:null) (和价格:未定义) 和其他类似的“虚假”陈述及其字符串化排列都不起作用。

我在 Node.js 中使用 AWS sdk。

TIA!

尼可

【问题讨论】:

    标签: node.js amazon-cloudsearch


    【解决方案1】:

    无需任何重新索引即可使用的选项是范围搜索,例如

    (NOT (range field=price [0,}))

    匹配价格不在 0 和无穷大之间的汽车(例如没有价格的汽车)。有关其他选项的讨论,请参阅此 answer。

    旁注:我觉得您可能正在使用 CloudSearch 来存储您的数据。如果是这样,我会考虑使用数据存储(旨在存储数据)而不是 CloudSearch(它是一个搜索引擎)。一方面,它会使这种查询变得更加容易。

    【讨论】:

    • 嘿,谢谢你的建议!仅供参考,我没有将 cloudsearch 用作数据存储。它还包含我们数据的可查询字段。
    • 好吧,这意味着您可以考虑其他一些选项。我认为将没有价格的东西设置为像 -1 这样的标记值可能值得考虑。
    • 好吧,是也不是……没有价格的汽车没有价格,因为我们以前不关心价格(实际上,不幸的是,汽车总是有价格:()
    • 当然可以,但是您可以轻松地用您使用的任何语言 (node.js) 进行测试?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    相关资源
    最近更新 更多