FoselaCasticAbundle 인덱싱은 Symfony를 멈추게 느리게합니다
-
21-12-2019 - |
문제
FoselasticAbundle을 사용하여 Elasticsearch에서 항목을 인덱싱하지 않습니다.
여기에서 내 구성 (app / config / config.yml)에서
fos_elastica:
clients:
default: { host: localhost, port: 9200 }
serializer:
callback_class: FOS\ElasticaBundle\Serializer\Callback
serializer: serializer
indexes:
website:
client: default
types:
idea:
mappings:
title: { boost: 6 }
persistence:
driver: orm
model: Ideside\IdeaBundle\Entity\Idea
provider: ~
finder: ~
listener: ~
.
이 모든 것을 멀리 할 때, 사물이 ES에서 인덱싱되지 않도록 모든 것이 잘 작동합니다. 그러나 이것이 config.yml 파일에있을 때, 양식을 사용하여 엔티티를 게시하면 컴퓨터 팬이 2 분 동안 미친 것처럼 보일 것이고 다음 응답이 반환됩니다.
"FatalErrorException : 오류 : 최대 실행 시간 120 초 초과"
Config.yml 설정을 변경하면 게시하는 특정 엔터티가 ES에 인덱싱되는 특정 엔터티가 아니라 모든 것이 잘 작동하지만 ES에서 하나의 데이터베이스 행 만 인덱싱 할 수 있습니다. 서버를 멈추게하십시오.
데이터베이스가 비어 있으면 php app/console fos:elastica:populate
-command가 완료되고 하나의 데이터베이스 행이 ES에 인덱싱되는 하나의 데이터베이스 행이 있지만 데이터베이스에서 팬이 실행될 데이터베이스에서 매우 겸손한 데이터의 양과 함께 작동합니다. Resetting website
(populate-command를 실행할 때 터미널이 인쇄 할 때 터미널이 인쇄되는 첫 번째 줄)를지나 가지 않고 몇 분 동안 미친 쪽.
문제가 무엇인지 이해하는 데 도움이되는 것들 :
-
이 프로젝트에서 ES-Integration을 성공적으로 성공적으로 수행했습니다. 데이터베이스를 인덱싱하여 데이터베이스에 추가되는 새로운 것을 인덱싱하여 ES에서 검색하는 것처럼 보였습니다. 그러나 ES-Integration은 현재 이전에 주 프로젝트와 병합되지 않은 특정 Git-Branch에 보관되었으며 이제는 더 이상 작동하지 않습니다.
-
마스터 브랜치의 마스터 브랜치와 함께 ES-Integrated Branch를 병합하기 전에 마스터 브랜치는 FosrestBundle을 사용하는 것들 중에서 다른 것들 중에서 사용됩니다.
-
마스터 지점을 끌어 당긴 팀의 다른 사람들은 동일한 문제가 있었기 때문에 문제가 프로젝트 코드와 관련된 것 같아요 (내가 할 수는 없지만 물론).
당신은 무엇이 틀릴지 모르겠다는 것을 알고 있습니까? 어떤 도움이 깊게 을 감사하게 될 것입니다!
더 많은 정보 또는 더 많은 코드 섹션이 잘못된 것을 식별하는 데 도움이 될 수있는 경우 나는 물론 당신에게 기꺼이 당신을 제공 할 것입니다.
해결책
직렬화 된 객체가 http:///en.wikipedia.org/위키 / 회람 _Reference .
유사한 문제가있는 경우 주석을 사용하여 직렬화 된 속성을 수정하여 해결할 수 있습니다. http://jmsyst.com/libs/serializer/master/reference/annotations .