首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用elastic search在代理后面搜索UI仪表板

问使用elastic search在代理后面搜索UI仪表板
EN

Stack Overflow用户
提问于 2020-03-26 11:55:44
回答 1查看 106关注 0票数 0

我在一个具有全文搜索功能的搜索仪表板上工作,由ES支持。搜索最初将由UI仪表板使用。我计划在UI仪表板和ES之间有一个应用程序web服务(WS) api层,它将路由业务搜索到ES。

WS可以有多个客户端,每个客户端都有自己的业务用例和复杂的数据需求(基本上是响应字段)。它们有许多实体和大量的字段。每个客户端都需要指定它想要返回哪些字段的实体。

为了支持这种动态变化的需求,一种方法可以是让WS通过ES (具有访问控制和对ES响应的后期转换等预验证)。WS API看起来与ES API完全一样,UI应该通过JS客户端构建ES查询并将其发送到WS,WS在进行访问控制后将从ES获取数据。

我是ES的新手,对这种方法持怀疑态度。在这种方法中是否会有任何特殊的挑战。我的一位同事以前在ES上工作过,但总是使用后端Java客户端,所以他不太确定。

我查了一下ES Js的客户有一个官方的here

这里有一些上下文:

我们有大约4个不同的实体(可以在未来增加)与全文和关键字类型的字段。典型的搜索可能有多个筛选器和搜索项,并希望指定结果字段。此外,一些搜索将跨实体,而另一些搜索将针对单个实体。我们为每个实体维护一个单独的实体。

EN

回答 1

Stack Overflow用户

发布于 2020-03-26 12:11:02

我从你的帖子中理解到的是,下面是你想要在高水平上实现的目标。

未来WS可能有多个客户端,每个客户端都有自己的业务用例和复杂的数据需求(基本上是响应字段)

由于您不确定如何做到这一点,您正在考虑仅在您的前端从Javascript构建Elasticsearch查询。我不是一个非常喜欢这种方法的人,因为它暴露了你是如何构建查询的,如果一些黑客知道下面这样的关键信息,那么就会让你的整个ES集群陷入瘫痪:

  1. 知道通配符查询的类型。
  2. 知道索引名和ES集群详细信息(虽然您可能拥有访问控制,但仍然会暴露关键信息)。
  3. 如何构建搜索查询。

上面只是几个例子,并将添加更多信息。

正确的方法

因为你已经有了一个后端,你将在那里检查访问,在那里只构建Elasticsearch查询,并且你甚至有你的队友知道它的优势。

要构建复杂的响应字段,可以使用 ,使用它可以在搜索请求中指定要在搜索结果中返回的所有字段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60860809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档