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

我不认为它得到支持,但我又不知道一切。我认为它可以接受某种形式的 CSV 值或 XML?

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

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

但这些将是返回的方面:
   author
     -Bob Jones
     -Mike Miller

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

最佳答案

一个方面完全按照您的要求执行,但您不能返回一个方面。

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

/search?q=book&facet=author

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

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

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

关于amazon-cloudsearch - 支持在 Amazon CloudSearch 上进行分面搜索的单个列中的多个值吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20461024/

10-12 18:04