我对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调用,你如何保护它,所以只有我的应用程序可以调用它?
如何将其部署到服务器?
答案 0 :(得分:0)
这是一个很好的问题,但却是一个非常广泛的问题。弹性肯定会在那种情况下起作用,但可能不是你开始的最佳选择。
对于你的MVP或v.1.0,我只会使用一个常规的关系数据库(即sql server),然后一旦你进入数十万或数百万用户,就会考虑弹性,redis等等。
对于你的其他问题,如果你选择弹性,你实际上不必使用关系数据库来镜像你的数据,但实际上你很可能最终会使用它。
总而言之,使用您熟悉的工具开始简单,一旦您启动并运行,您将有足够的机会根据需要进行优化。