弹性搜索我需要什么?

时间:2018-05-11 16:14:22

标签: .net elasticsearch asp.net-core

我对Elastic Search的工作原理有点困惑,所以我不确定这是否是我需要的,或者其他什么会更好。

我想要实现的目标。

我将使用Asp.net Core Api和SQL Server数据库。

已过滤的类别

当用户访问我的网站时,他们将能够搜索(即计算机),结果将会回来。在侧面会有过滤选项,如

Brand 
Apple (50)
Microsoft (100)

Ram 
2 GB ( 10)
4 GB ( 80)

我需要计算的第一件事就是那些计数,因为可能有1000多个结果回来我不能立刻将所有结果带回来,所以我可以一次返回50个结果但这些计数应该是全部在我的数据库中匹配。

如果他们检查2GB,那么它应该再做一次请求,然后再回复那10个结果。

提前输入

我知道Elastic Seach支持

其他问题

根据我的理解,弹性搜索是它自己的数据库(nosql),我需要保留我的SQL Server数据库,那么如何让这两个数据库保持同步?

在我的例子中,一些数据可能存储在JSON EAV中,例如Ram将存储为JSON EAV,因为我将拥有许多其他可能不是计算机并且根本没有ram的产品。这会导致同步问题吗?

弹性搜索似乎是你自己的服务,你通过rest api调用,你如何保护它,所以只有我的应用程序可以调用它?

如何将其部署到服务器?

1 个答案:

答案 0 :(得分:0)

这是一个很好的问题,但却是一个非常广泛的问题。弹性肯定会在那种情况下起作用,但可能不是你开始的最佳选择。

对于你的MVP或v.1.0,我只会使用一个常规的关系数据库(即sql server),然后一旦你进入数十万或数百万用户,就会考虑弹性,redis等等。

对于你的其他问题,如果你选择弹性,你实际上不必使用关系数据库来镜像你的数据,但实际上你很可能最终会使用它。

总而言之,使用您熟悉的工具开始简单,一旦您启动并运行,您将有足够的机会根据需要进行优化。