2013-04-03 74 views
9

我有兴趣将AWS Cloud Search用于我的Web应用程序。 我有3种不同的文档类型可以让我搜索(用户 - 文章 - 图像)。AWS CloudSearch:1域中的不同文档?

使用Cloud Search执行此操作的最佳方法是什么? 我是否需要创建3个不同的AWS搜索域?这是否意味着我需要支付至少3个搜索实例?

或者我可以把它们全部放在1个域/实例中,并使用类似索引或类型的东西(使用弹性搜索术语)?

谢谢!

+0

您是否找到了解决您的问题的更好方法,我也在寻找解决方案。 – Reza 2015-10-26 17:27:23

+0

我使用ec2托管的弹性搜索实例 – stikkos 2015-10-26 20:23:23

回答

4

你可以试试这个:

  1. 添加文本类型的“searchable_text”指数,“类别”类型文本中的哪一个方位的启用索引。
  2. 将所有类型的文档全文搜索字段上传为“searchable_text”,并将类别上传为“用户”,“文章”或“图片”之一。
  3. 基于category的查询返回每种类型的结果。

如果您的搜索查询将是复杂许多索引字段,你最终可能有很多空值的很多索引的字段,如果你试图保持不同的文件类型单个域。空值对于索引是不利的,如果最终到达那里,最好将文档类型分离到它们自己的域中。

+0

感谢您的建议,但正是因为我想避免“空白字段”(我的文档完全不同),我希望有更好的解决方案......在ElasticSearch中,您可以按索引或类型对文档进行分组,但我认为Cloud Search不可能使用 – stikkos 2013-04-10 10:32:10

+0

我一直在寻找相同的东西。我猜CloudSearch仍处于测试阶段的事实在这里起作用。话虽如此,我觉得你仍然应该把艾米尔的回答作为答案。 – IanBussieres 2013-06-27 12:43:57

+4

有人可以回答这个子问题:你可以在一个“搜索实例”中有多个“搜索域”吗?假设我没有很多流量,我认为我不应该需要每种文档类型的不同虚拟机...... – 2013-08-02 13:30:41

相关问题