当前位置: 首页 > 知识库问答 >
问题:

AWS CloudSearch是否允许在同一个查询中搜索多个域?

钮鸿煊
2023-03-14

我团队的应用程序在应用程序数据库中的11个表中有许多数据类型。为了在所有这些类型的特定字段中实现高效的关键字搜索,我们正在探索AWS CloudSearch作为一种选项。我们的目的是返回给定关键字搜索的所有记录类型的相关结果。

我的理解是,每种记录类型(每一个表)最终都会出现在一个单独的CloudSearch域中。如果是这样,该服务是否允许跨多个域进行搜索?还是在返回后需要提交多个请求并合并?

如果我在以上任何一点上弄错了,请纠正我。我已经在CloudSearch文档中搜索了关于这一点的提示,但还没有得出任何结论。

旁注:

我们的替代方案是非自托管的弹性搜索服务,这将解决这个问题。然而,我们的应用程序生态系统目前仅托管在少数AWS服务中。CloudSearch vs ElasticSearch的优缺点在这方面尚不清楚。如果能以与上述有关的技术理由予以认可,我将不胜感激。不过,我尊重这不是进行一般性利弊讨论的地方。

共有2个答案

方嘉言
2023-03-14

否,每个Cloudsearch查询都是针对单个域内的数据

蔚和安
2023-03-14

是的,您确实只能从单个域中查询数据,其中域是一个数据结构。

但是,您可以将所有表展平到一个域中,添加一个“类型”索引字段,并在查询时添加特定类型作为过滤器

 类似资料:
  • 问题内容: 我在PHP中运行一个脚本,该脚本uisng循环为MySQL创建了一个字符串查询。 执行脚本后,出现以下错误: “您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在’UPDATE BANNERS SET pos = 1 WHERE BID = 5; UPDATE BANNERS SET pos = 2 WHERE BID = 1’附近使用正确的语法。在第2行 在错误

  • 问题内容: 我正在构建一个简单的 搜索 算法,我想 用空格 打破我的 字符串 ,并在其上搜索数据库,如下所示: 这可能吗? 问题答案: 是的,您可以使用SQL 运算符来搜索多个绝对值: 如果要使用,则需要改为使用: 使用(如您所尝试的)要求所有条件为真,使用至少需要一个条件为真。

  • 问题内容: 是否有任何原因为什么或为什么不应该在子查询中执行“排序依据”? 问题答案: 是:不应这样做,因为从概念上讲这没有意义。 子查询将在某些外部查询中使用(否则它将毫无意义),并且该外部查询无论如何都必须进行排序,因此对子查询进行排序没有任何意义。 这是因为除非使用显式ORDER,否则SQL中的查询结果将没有特定的顺序。因此,即使您在子查询中使用了ORDER,也无法保证这会影响外部查询的结果

  • 本文向大家介绍允许多个索引器参数?相关面试题,主要包含被问及允许多个索引器参数?时的应答技巧和注意事项,需要的朋友参考一下 参数的个数和类型都是任意的。加分的补充回答:用reflector反编译可以看出,索引器的内部本质上就是set_item、get_item方法。 基础知识: 索引的语法: public string this[string s],通过get、set块来定义取值、赋值的逻辑 索引

  • 问题内容: 我正在尝试在我的文档归档系统上为高级搜索页面编写查询。我正在尝试通过多个可选参数进行搜索。我有大约5个参数,它们可以是空字符串或搜索字符串。我知道我不必检查每个字符串或为空并为每个组合创建一个单独的存储过程。 编辑:最终使用: 问题答案: 您可以这样使用COALESCE(或ISNULL):

  • > 当同一主机上的两个进程使用网络套接字通信时,它们的套接字必须使用不同的端口吗? 我想是的,因为套接字由IP地址和端口号标识。如果进程的套接字使用相同的端口,则无法区分它们的套接字,对吗? 但是一个主机可以有多个网络接口,所以有多个IP地址。同一个主机上的多个网络接口是否可以共享一个端口,从而使两个套接字共享同一个端口? 例如,SSH本地端口转发由以下选项指定: 然后本地主机(SSH客户端运行的