我是Elasticsearch的新手,我已经使用FOSElasticaBundle安装并配置了带有Elasticsearch的symfony2。
问题是,当我尝试使用以下命令填充索引时:
php app/console fos:elastica:populate --verbose --no-reset
当我完成进度达到70%
11200/11200 [============================] 100%5秒
315000/415391 [====================> ------] 75%1小时
我收到了内存不足异常:
[Symfony\Component\Debug\Exception\OutOfMemoryException]
Error: Out of memory (allocated -1371537408) (tried to allocate 54801 bytes)
我还尝试了--sleep和--offset选项来克服该问题,但没有成功。
另外,我已经从配置文件中删除了完全序列化程序。
任何的想法 ?
谢谢
最佳答案
添加--no-debug可以在一定程度上减少内存使用量
app/console fos:elastica:populate --no-debug
或者减少由检索的对象数量
persistence:
driver: orm
model: Application\Bundle\Entity\Article
provider:
batch_size: 100
有关更多信息,请参见以下问题:
https://github.com/FriendsOfSymfony/FOSElasticaBundle/issues/153
关于php - 用Symfony 2用Elasticsearch填充索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438385/