我通过 FOSElasticaBundle 在系统中使用 Elasticsearch 和 Symfony2。
虽然我只使用一台服务器,但可以像这样配置 clients
配置:
https://github.com/FriendsOfSymfony/FOSElasticaBundle#basic-configuration
fos_elastica:
clients:
default: { host: localhost, port: 9200 }
但是当涉及到集群时,我尝试以某些方式进行配置但它不起作用,如下所示:
fos_elastica:
clients:
default: [{host: localhost, port: 9200},{host: localhost, port: 9201}]
还有这个:
fos_elastica:
clients:
default:
- { host: localhost, port: 9200 }
- { host: localhost, port: 9201 }
我知道 FOSElasticaBundle 使用 Elastica library ,并且该库使用 arrays of parameters 连接到集群,这就是我尝试上述方法的原因。
有谁知道如何连接以配置 FOSElasticaBundle 以连接到某些集群?
提前致谢。
最佳答案
您实际上不需要列出所有节点,因为 ElasticSearch 会 对集群进行负载平衡。但是,仍然可以这样做(例如,如果您连接到的节点离线)。请记住,这只是简单的循环。
这是你的做法:
fos_elastica:
clients:
default:
servers:
- { host: localhost, port: 9200 }
- { host: localhost, port: 9201 }
关于php - Symfony2 的 FOSElasticaBundle。如何配置连接到集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22111258/