2016-12-04 50 views
1

我想在具有弹性搜索的实体框架上使用。如何在弹性搜索中使用实体框架

我看到这篇文章MVC APPLICATION WITH ENTITY FRAMEWORK AND ELASTICSEARCH

但据我所知,我需要2个DB(MS SQL +弹性),他们在那里解释如何翻译数据。

ms sql我将保存数据,并在弹性搜索上完成。

因此,所有的数据将是两次,这将是存储的浪费......

是否有任何直接的方式来做到这一点?

谢谢

+0

将你的逻辑分成两部分,存储你的ES标准和它的ID,然后使用这些ID从SQL数据库中检索。 –

回答

0

是的你明白你需要使用两个不同的来源。 EF没有直接的方法来使用elasticsearch,你需要编写自定义逻辑来将数据库和Elasticsearch结合在一起。

如果你问为什么?答案是数据库和Elasticsearch是不同的。

首先Elastic是文档数据库,您应该在数据库中保存整个对象时,可以将项目拆分为ES中的多个表格“preferred”,以另存为一个文档(仍然在ES中,您可以使用nested objects但您不会能够加入)。

其他搜索查询在SQl和Elastic中完全不同。所以有时候只有你会决定应该使用哪个来源进行搜索。要搜索Elastic,您可以使用NEST包,但您需要学习ES查询和索引部分,因为取决于分析,您将得到不同的结果。

1

通过利用ElasticsearchCrud api,可以使用弹性搜索的实体框架。

This article明确解释了这样做的步骤。

P.S我宁愿不要复制/粘贴在这里的步骤,它可能看起来是多余的。