elasticsearch,C#,Mysql,Search,elasticsearch" /> elasticsearch,C#,Mysql,Search,elasticsearch" />

用mySQL数据库在C#中实现ElasticSearch

用mySQL数据库在C#中实现ElasticSearch,c#,mysql,search,elasticsearch,C#,Mysql,Search,elasticsearch,我们的一些搜索页面中出现了很多错误,这些错误可能是由于mySQL数据库中的记录太多造成的。我们正在想办法解决这个问题。其中之一就是尝试ElasticSearch。我们仍然会将所有数据存储在mySQL数据库中,但会将ElasticSearch的功能用于某些查询目的 那么,我们如何在使用C#构建的网站上实现ElasticSearch呢?该网站目前有一个mySQL数据库用于数据存储? 注意:为了直接回答我的问题,假设除了使用ElasticSearch之外,没有其他方法可以在搜索页面上解决我们的问题。您

我们的一些搜索页面中出现了很多错误,这些错误可能是由于mySQL数据库中的记录太多造成的。我们正在想办法解决这个问题。其中之一就是尝试ElasticSearch。我们仍然会将所有数据存储在mySQL数据库中,但会将ElasticSearch的功能用于某些查询目的

那么,我们如何在使用C#构建的网站上实现ElasticSearch呢?该网站目前有一个mySQL数据库用于数据存储?


注意:为了直接回答我的问题,假设除了使用ElasticSearch之外,没有其他方法可以在搜索页面上解决我们的问题。

您可以使用将elastic search连接到mysql数据库,或者您可以编写自定义C代码,用于将数据加载到ElasticSearch中。也请阅读。

您需要一个elasticsearch river插件,定期从mySQL提取数据,并在elasticsearch上对其进行索引。我遇到了两个这样的插件

elasticsearch河jdbc- 埃拉斯蒂克河-

一旦您的数据在elasticsearch上建立了索引,您就可以使用

  • 弹性搜索RESTAPI
  • 弹性搜索.NET客户端-

  • 我想首先您需要了解反向索引是如何工作的,以确保ElasticSearch是适合您的解决方案:

    然后你需要提出你的索引策略:从mysql到ElasticSearch,你将如何索引你的数据。问题是,在关系数据中,您对行进行操作,在反向索引(ElasticSearch、Solr、Lucene等)中,您对文档进行操作,所以您需要决定如何将关系数据转换为文档,有几种方法,并且有一篇关于在ElasticSearch中对关系数据进行索引的文章:

    如果有人通过搜索找到此线程:Elastic不赞成使用河流。他们提倡使用外部工具,用数据库中的数据填充索引


    上面提到的博客文章已经更新,有一篇新文章可以帮助人们实现一个工具,该工具可以使用sql数据库中的数据使Elasticsearch保持最新状态。

    我正在寻找更详细的答案,但我认为这足以让我们开始使用Elasticsearch。我会看看你提供的链接。谢谢这是Tnx。在尝试使用ElasticSearch时,我会考虑您的答案。