【问题标题】:Multiple values in a single column for faceted search on Amazon CloudSearch supported?支持在 Amazon CloudSearch 上进行分面搜索的单个列中的多个值?
【发布时间】:2013-12-09 00:17:33
【问题描述】:

我正在查看 Amazon CloudSearch,我只是担心每列有多个值,以及它是否会被 CloudSearch 视为一个单独的方面。我的意思是,如果我有一本书(1 行)并且它有多个作者,但只有一个 author 字段,那么分面搜索如何将每个作者作为单独的方面返回?必须设置一组硬编码的作者字段(即..author1author2author3)并不实用,所以我想知道它是否是内置的?

我没有看到它受到支持,但是我又不是什么都知道。我认为它可以接受某种 CSV 值或 XML?

如果我将这个数据集存储在 CloudSearch 上,我的意思是这样的一个例子:

   title        |  author
   I am a book  |  Bob Jones, Mike Miller

但这些将是返回的方面:

   author
     -Bob Jones
     -Mike Miller

有什么方法可以实现这样的目标吗?

【问题讨论】:

    标签: amazon-cloudsearch


    【解决方案1】:

    一个 facet 完全按照你的要求做,但你不能返回一个 facet。

    因此,如果您将作者字段创建为构面,并且您在标题中搜索“书”并返回构面“作者”

    /search?q=book&facet=author

    你会得到:鲍勃·琼斯 (1) 和迈克·米勒 (1) 得到 1 次安打。表示有一本给 Bob 的书,一本给 Mike 的书(在你的情况下是同一本书)。

    但是缺少的是“作者”字段,您的方面绝不会表明两位作者属于同一本书。您也不能随书一起显示作者,除非您添加一个额外的字段,以一个字符串或 author1 author2 列出作者。

    至于如何为一个字段、一个数组插入多个值,我使用的是发布一个json对象到/documents/batch的方法。 author 字段只会有一个包含一个或多个值的数组(不允许空数组,空字符串是,没有作者的书必须是空字符串,而不是 json 对象中的空数组)。

    【讨论】:

    • 我正在尝试做类似的事情,并且可以设置 CloudSearch 来做我认为你想做的事情。关键是将您的“作者”字段设置为类型文字数组,然后可以分面(与类型文本数组不同)。然后在您的示例中,您将值设置为数组(“Bob Jones”,“Mike Miller”),当您进行搜索时,您将返回分面结果以及每个不同的所有匹配项的计数作者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多