【问题标题】:Elasticsearch Best Practices FlowElasticsearch 最佳实践流程
【发布时间】:2020-02-15 03:19:21
【问题描述】:

我正在使用弹性搜索对产品进行产品过滤。我们有复杂的产品可用性逻辑。我可以看到两个选项

使用弹性仅存储产品特定数据和产品可用性逻辑驻留在 Web 服务器部分。我们首先从 elastic 中过滤数据,然后检查这些结果集的条件是否符合可用性逻辑。

或者我们可以将数据展平并将其存储在弹性中,尽管在这种情况下会有数据重复。

我担心从浏览器调用弹性端点是否是一种好习惯。因为它默认没有任何身份验证系统。每个查询和响应都将在网络日志中可见。我相信应该从网络服务器调用弹性和前端将与弹性通信不知道弹性的存在。

任何最佳实践见解都会有所帮助

【问题讨论】:

  • 直接从浏览器公开数据通常不是一个好主意,如果可能的话应该避开。

标签: elasticsearch


【解决方案1】:

只需在您的后端创建和验证端点并将查询发送到该端点。请确保有一些强制限制,例如

  • size -- 你不想让任何人下载你的整个索引和
  • aggregation depth -- 您不希望任何人对您的整个指数/指数进行汇总以获得竞争优势。

关于重复:我不会太担心存储方面(许多 NoSQL 方法可能会有一些重复以促进快速查询),但请记住,聚合可能会产生“错误”的计数和总和。您通常会执行这些聚合以获取产品类别中的总数,并且您希望确保它们代表您的仓库状态。

根据您提供的有限信息,现在还不能说更多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 2017-11-16
    • 2010-12-02
    相关资源
    最近更新 更多