支持Amazon CloudSearch的分面搜索的单个列中的多个值是什么?

时间:2013-12-09 00:17:33

标签: amazon-cloudsearch

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

我不认为它得到支持,但是我再也不知道一切。我看到它的方式可以接受某种类型的CSV值,还是XML?

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

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

但这些将是返回的方面:

   author
     -Bob Jones
     -Mike Miller

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

1 个答案:

答案 0 :(得分:3)

一个方面正是你所要求的,但是你不能回到一个方面。

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

/搜索Q =书&安培;小面=作者

你会得到回复:Bob Jones(1)和Mike Miller(1)有1次点击。表明Bob有一本书,Mike有一本书(在你的情况下是同一本书)。

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

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