您可以在同一实体的不同索引中定义两种或多种类型吗?

Can you have two or more types defined in different indexes for the same entity?

我将 Elasticsearch 0.9 与 FOSElasticaBundle 3.0.0.alpha6 和 Symfony 2.5.10 一起使用。 FOSElastica Listener 会更新所有索引吗?我可以为每个环境定义不同的侦听器服务吗?我想看看我是否可以为生产、开发和测试环境使用不同的索引。

Will FOSElastica Listener keep all indexes updated

是的,如果您将在配置文件中正确配置 persistence 部分。

Can I define different listener services for each environment? I'm asking to see if I can use different indexes for the production, development and test environments.

如果我理解得很好,解决方案是 here。 您可以在每个环境的配置(prod、dev、test)中设置其他索引名称。

或者更好的是,您可以使用 kernel.env 参数根据当前环境动态更改使用的索引:

#app/config/config.yml
fos_elastica:
    indexes:
        app:
            index_name: app_%kernel.env%