SAD*_*987 5 c# entity-framework elasticsearch
我想在具有弹性搜索的实体框架上使用。
我看到了这篇文章MVC APPLICATION WITH ENTITY FRAMEWORK AND ELASTICSEARCH。
但据我所知,我需要 2 个 DB(ms sql+elastic),他们在那里解释了如何翻译数据。
ms sql 我将保存数据并在 elastic 上进行搜索。
所以所有的数据都将是两次所以这将是浪费存储......
有没有直接的方法可以做到这一点?
谢谢
是的,您理解正确,您需要使用两个不同的来源。没有直接的方法将 elasticsearch 与 EF 结合使用,您需要编写自定义逻辑以将数据库和 Elasticsearch 结合在一起。
如果你问为什么?答案是Database 和Elasticsearch 是不同的。
首先,Elastic 是文档数据库,您应该保存整个对象,而在数据库中,您可以将项目拆分到 ES 中的多个表中,“最好”保存为一个文档(仍然在 ES 中,您可以使用嵌套对象,但您将无法加入)。
其次,SQl 和 Elastic 中的搜索查询完全不同。因此,有时只有您才能决定应使用哪个来源进行搜索。要搜索 Elastic,您可以使用 NEST 包,但您需要学习 ES 查询和索引部分,因为根据分析您将得到不同的结果。