- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经安装了 FOSElasticaBundle 并让它处理我的数据的横截面。
我的问题在于我需要使用大约 1400 万行来构建索引。我运行了 populate 命令,昨天大约 6 小时后它出现了 10.8% 的内存错误:
PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 52277 bytes) in /var/www/html/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php on line 111
如您所见,我已将我的 php 内存限制设置为 2G,这应该是过高的。
错误前的最后一行看起来像
Populating index/entity, 10.8% (1315300/12186320), 36 objects/s (RAM : current=2045Mo peak=2047Mo)
从 30mb 左右开始,每条线的电流和峰值都在上升。
我的假设是存在某种内存泄漏?当然 php 的内存不应该被这个过程耗尽。我还尝试了带有一些额外参数的命令
app/console fos:elastica:populate --no-debug --no-reset --env=prod
但当我观察它运行时,当前内存仍在增加。
关于这里可能发生的事情以及我可以做些什么来调试它有什么想法吗?我发现这个讨论听起来像我的问题,但并没有真正提出一个好的解决方案:https://github.com/FriendsOfSymfony/FOSElasticaBundle/issues/82 .我正在使用原则和默认提供程序。
谢谢你-
最佳答案
我无法完全解决内存泄漏问题,但可以通过运行命令来解决
app/console fos:elastica:populate --no-debug --no-reset --env=prod --offset=n
我已经能够批量填充。我通过使用此页面上的解决方案关闭记录器来大幅减少内存泄漏量
https://github.com/FriendsOfSymfony/FOSElasticaBundle/issues/273
将我的 php memory_limit 设置为 4G(!)我能够无错误地填充超过 500 万条记录,因此在几个批处理之后我应该完成这个过程。
大多数解决方案似乎都涉及编写自定义提供程序(请参阅 https://github.com/FriendsOfSymfony/FOSElasticaBundle/issues/457),但通过可笑的 memory_limit 并尽可能地限制内存泄漏,我不需要这样做。
关于php - 填充 FosElasticaBundle 时 php 内存不足,可能存在内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451983/
我在Symfony项目中使用FosElasticaBundle。我配置了映射,但出现异常“为字段[_id]预期了一个简单值,但发现了[START_OBJECT]]”。 我想查看由FosElastica
我刚刚开始使用FOSElasticaBundle,并且到目前为止发现它确实非常好用。我不确定这是我对软件包/ Elastica的无知还是我对ElasticSearch的总体了解不足,但是是否可以通过分
我正在将FOSElasticaBundle与orm持久性驱动程序以及JMSSerializerBundle序列化程序一起使用。 我的用户由FOSUserBundle管理,我试图为它们建立索引,但排除某
我有一个MySQL数据库,其中“ElasticSearch”使用Console命令的FOSElasticaBundle for Symfony2对“文档”进行了索引: php app/console
我将Elasticsearch与Foselasticabundle一起使用在我的Symfony应用程序中进行搜索,但返回的结果为空。 这是我的配置和搜索方法: foselasticbunde.yml:
我在项目中使用 FOSElasticaBundle 和 Doctrine,并且我的代码适用于使用 Doctrine 生命周期事件的选择性索引更新。我遇到的问题是我是否单独更新相关实体。 例如,一个人可
我使用 FOSElasticaBundle 来处理搜索。当我有一层嵌套时,一切都很好。但是,当我有两层嵌套时,应该匹配最内层嵌套的结果不会返回(例如,搜索“xx”类别确实会产生结果,但搜索“yy”品牌
我需要构建一个多实体搜索。 我不想要每个 T1,然后每个 T2。 当我使用 fos:lastica:populate 时,出现错误: Rejecting mapping update to [sear
几天以来,我的elastica查询不再起作用。我没有问题可以填充,如果我删除了GeoDistance部分,则请求已执行,并且得到结果。当前,在跟踪中,我收到以下消息: "message": "
如果我的实体使用GUID字段类型作为标识符,如何在config_yml中定义映射? 细节 我有一个使用Symfony 2.7.3和FosElasticaBundle 3.1.4的项目。 我已经配置了映
我是搜索/索引方面的新手,我正在使用 Symfony 的 FosElasticaBundle 为 Web 应用程序提供搜索功能。在我发现默认设置只允许全词搜索之前,我已经设置并运行它没有问题。 然后我
我在我的项目中使用 FOSElasticaBundle 来搜索我的 Player 实体。由于我只想搜索具有 isactive 属性且值为 1 的实体,因此我遵循了有关“过滤结果和执行默认查询”的文档:
我正在使用symfony2和FOSElasticaBundle。 我的Elasticsearch服务经常由于未知原因而被杀死或失败。我已经使用restart always将systemctl放置在适当
我有一个“文章”实体,它与实体“比率”具有一对多的关系。 我的文章已被索引。我想添加该文章的平均费率(以与该文章相关的“费率”实体计算)作为索引,而且我不知道该怎么做,如果要更改新费率,则还必须更新平
如何在 symfony2 上使用 elasticsearch 进行构面查询? 我可以进行查询,并得到结果,它有效! 现在对于这个查询,我想对结果进行分面。 最佳答案 public function
我正忙着查看 elasticsearch 以寻找我正在着手的新项目。我目前正在运行 Symfony2.5,带有最新的 FOSElasticaBundle 等等。我正在对 bundle 的性能进行一些基
我通过 FOSElasticaBundle 在系统中使用 Elasticsearch 和 Symfony2。 虽然我只使用一台服务器,但可以像这样配置 clients 配置: https://gith
我正在尝试使用 elasticsearch 进行按邻近度排序的搜索。我安装了 FOSElasticaBundle 并且在我的 config.yml 中有这个配置: fos_elastica:
我正在尝试让 FOSElasticaBundle 在 AWS ElasticSearch 上工作。目前,我的开发环境已全部设置好,并且使用 Docker 容器进行 ElasticSearch 完美运行
我希望将 FOSElasticaBundle 集成到我的 symfony 3 项目中。目前这个包不支持 symfony 3。我在想我能做些什么来实现它? 最佳答案 似乎还没有标记为通过 packagi
我是一名优秀的程序员,十分优秀!