我们在 ubuntu 16.04 上运行一个网站,我们将在其中使用 Elasticsearch 的搜索功能。我们计划有多个项目,每个项目有两个索引。因此,我们设置了另一台 ubuntu 服务器,该服务器具有足够的内存,仅用于容纳 Elasticsearch。
我们的问题是:集成这两台服务器以便能够在网站上使用 Elasticsearch 的最佳方法是什么?是否有插件可用于进一步确保集成安全,或者我们最好的选择是使用 ES 的配置?
谢谢
答案1
我们找到了解决方案。在 elasticsearch.yml 中我们执行以下操作:
network.host: internal ip address of ES server (Server B)
http.port: 9200
transport.host: internal ip address of ES server (Server B)
transport.tcp.port: 9300
我们提供了安装 Elasticsearch 的服务器(服务器 B)的内部 IP 地址。然后在防火墙中我们为应用服务器(服务器 A)的内部 IP 授予访问权限。(这两台服务器在数据中心的同一网络中)。
这样,我们就可以使用服务器 B 的内部 IP 从服务器 A 进行 curl 以从 Elasticsearch 获取结果。
现在我们从 Php 获得以下结果。
array(2) { ["result"]=> bool(true) ["data"]=> array(3) { ["acknowledged"]=> bool(true) ["shards_acknowledged"]=> bool(true) ["index"]=> string(23) "project_name" } }
对于那些对更多细节感兴趣的人,我很乐意提供帮助。