在 Web 应用程序中将 Nest Elasticsearch 与 Azure 结合使用

Using Nest Elasticsearch with Azure in a web application

我使用 visual studio 2013 创建了一个 Web 应用程序,并使用 elasticsearch 进行搜索服务。现在我想托管网站,对于这一部分,我想使用 Microsoft Azure。 我的挑战是将 elsaticsearch 服务包含到 Azure。 为了学习指令,我搜索了很多并找到了一些资源,例如:

但是这两个资源的说明让我困惑到底应该做什么才能使用 运行 可用的弹性搜索来托管网站。

有谁知道如何在 Microsoft Azure 中启用弹性搜索的更清晰的分步说明?

更新: 为了找出分步解决方案,我查找了更多资源并找到了以下 links: 1. http://thomasardal.com/running-elasticsearch-in-a-cluster-on-azure/

  1. http://www.andrewwestgarth.co.uk/blog/post/2014/02/04/Using-the-Elasticsearch-Azure-Plugin-with-Windows-Virtual-Machines.aspx

我正在使用 visual studio 2013 并使用 C# asp.net;我还使用 Nest 库来使用 Elasticsearch 服务。 我使用弹性搜索 1.5.2 这是我遵循的分步说明: 根据第一个link:

1.Creating Microsoft Azure 中的订阅。我已经在 Azure 上发布了 Web 应用程序,它运行良好。

2.Create 虚拟网络。我还将指向站点的点设置为 true,因为在您想要将 Web 应用程序连接到 VNet 时需要此连接。

3.Create 云服务

  1. 创建 3 个虚拟机并为每个虚拟机使用创建的云服务。

5.Modify elasticsearch 配置文件 (elasticsearch.yml)。取消注释我上面提到的第一个 link 中提到的行,并添加如下所示的 VM 内部 IP:

cluster.name: recsys-cluster
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["10.0.0.4", "10.0.0.5", "10.0.0.6"]
  1. 向 VM 添加端点与 link.

  2. 中所述完全相同
  3. 在我的应用程序中更改 elasticsearch Uri 的代码:

    var node = new Uri("http://recsys-vs-01.cloudapp.net");

我在使用 elasticsearch 服务的页面上 运行 我在 Azure 上的 Web 应用程序仍然有问题。 谁能帮我解决我做错了什么或遗漏了什么??

根据上面的第二个link,我也尝试过使用elasticsearch-cloud-azure插件,但它也没有帮助。

提前致谢。

我终于找到我做错的地方了! 对于那些精通云服务和虚拟机的人来说,这可能是一个愚蠢的遗漏点,但对于我这个初学者来说,花了大约一周的时间才弄清楚遗漏了什么! 实际上,我并没有按照说明在虚拟机上安装 Elasticsearch。我认为只在配置文件中设置内部 IP 就足以安装,但事实并非如此!

我应该做的是转到每个虚拟机的页面并按下位于页面底部的连接按钮;然后在提供与创建 VM 时相同的用户名和密码后,您可以访问 windows 服务器并安装 elasticsearch,就像在本地系统中一样。 因此,只需遵循这个有用的 link:http://thomasardal.com/running-elasticsearch-in-a-cluster-on-azure/ 希望它对像我这样的初学者有用! :-)