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

Mes*_*San 5 php symfony elasticsearch elastica

我通过FOSElasticaBundle在系统中使用Elasticsearch和Symfony2.

虽然我只使用一台服务器,但可以clients像这样配置配置:https: //github.com/FriendsOfSymfony/FOSElasticaBundle#basic-configuration

fos_elastica:
    clients:
        default: { host: localhost, port: 9200 }
Run Code Online (Sandbox Code Playgroud)

但是当谈到集群时,我试图在某些方面进行配置,但它不起作用,如下所示:

fos_elastica:
    clients:
        default: [{host: localhost, port: 9200},{host: localhost, port: 9201}]
Run Code Online (Sandbox Code Playgroud)

还有这个:

fos_elastica:
    clients:
        default:
            - { host: localhost, port: 9200 }
            - { host: localhost, port: 9201 }
Run Code Online (Sandbox Code Playgroud)

我知道FOSElasticaBundle使用Elastica库,并且该库使用参数数组连接到集群,这就是我尝试上述方法的原因.

有谁知道如何连接配置FOSElasticaBundle连接到某个群集?

提前致谢.

r1p*_*4ck 4

您实际上并不需要列出所有节点,因为 ElasticSearch会对集群进行负载平衡。但是,仍然可以这样做(例如,如果您连接的节点离线)。请记住,这只是简单的循环赛。

您可以这样做:

fos_elastica:
    clients:
        default:
            servers: 
                - { host: localhost, port: 9200 }
                - { host: localhost, port: 9201 }
Run Code Online (Sandbox Code Playgroud)