用于Symfony2的FOSElasticaBundle。如何配置连接到群集?

时间:2014-03-01 06:59:22

标签: php symfony elasticsearch elastica

我通过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以连接到某个群集?

提前致谢。

1 个答案:

答案 0 :(得分:4)

您并不需要列出所有节点,因为ElasticSearch 负载均衡群集。但是,它仍然可以执行(例如,如果您连接的节点脱机)。请记住,它只是简单的循环法。

您就是这样做的:

fos_elastica:
    clients:
        default:
            servers: 
                - { host: localhost, port: 9200 }
                - { host: localhost, port: 9201 }