Elasticsearch最佳实践流程

时间:2020-02-14 15:55:17

标签: elasticsearch

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

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

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

我担心的是,从浏览器调用弹性端点是否是一种好习惯。由于默认情况下它没有任何身份验证系统。并且每个查询和响应都将在网络日志中可见。我相信应该从Web服务器拨打到Elastic的电话,并且前端将在没有意识到弹性存在的情况下与Elastic通信。

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

1 个答案:

答案 0 :(得分:0)

仅在后端中创建并验证端点,然后将查询发送到该端点。确保有一些强制性限制,例如

  • size-您不想让任何人下载您的整个索引,并且
  • aggregation的深度-您不希望任何人对您的整个索引进行摘要以获取竞争优势。

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

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