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-file에 있고 양식을 사용하여 엔티티를 게시하면 컴퓨터 팬이 2 분 동안 미친 듯이 움직이고 다음 응답이 반환됩니다.
"FatalErrorException : 오류 : 최대 실행 시간 120 초 초과"
config.yml-settings를 변경하여 게시하는 특정 엔터티가 ES에 인덱싱되는 엔터티가 아닌 모든 항목이 제대로 작동하지만 ES에서 하나의 데이터베이스 행만 인덱싱하면 서버를 가져올 수 있습니다. 중단 된 것 같습니다.
php app/console fos:elastica:populate
데이터베이스가 비어있는 경우 - 명령이 완료됩니다, 나는 또한 하나의 데이터베이스 행이 ES를 색인 한 번 또는 두 번 일을 만들었지 만, 데이터베이스의 데이터도 아주 적당한 양의 팬이없는 분 동안 미친 듯이 실행됩니다 지나 가기 Resetting website
(populate- 명령을 실행할 때 터미널이 인쇄하는 첫 번째 줄).
문제가 무엇인지 이해하는 데 도움이 될 수있는 것 :
이전에이 프로젝트에서 ES 통합 작업을 성공적으로 수행했습니다. 데이터베이스 인덱싱, 데이터베이스에 추가되는 새로운 항목 인덱싱, ES에서 검색-모든 것이 마치 매력처럼 작동했습니다. 그러나 ES 통합은 지금까지 메인 프로젝트와 병합되지 않은 특정 git-branch에 유지되었으며 이제 더 이상 작동하지 않습니다.
ES 통합 브랜치를 마스터 브랜치 마스터 브랜치와 병합하기 전에 마스터 브랜치는 무엇보다도 FOSRestBundle을 사용했습니다.
마스터 브랜치를 가져온 팀의 다른 사람들도 같은 문제를 겪었으므로 문제는 내 ElasticSearch 노드가 아닌 프로젝트 코드에있는 것 같습니다 (확신 할 수는 없지만).
무엇이 잘못되었을 지 아는 사람이 있습니까? 어떤 도움이라도 깊이 감사하겠습니다!
더 많은 정보 나 더 많은 코드 섹션이 무엇이 잘못되었는지 식별하는 데 도움이 될 수 있다면 물론 기꺼이이를 제공하겠습니다.
이 문제는 http://en.wikipedia.org/wiki/Circular_reference와 같은 객체가 직렬화 될 때 순환 참조로 인해 발생했습니다 .
비슷한 문제가있는 경우 http://jmsyst.com/libs/serializer/master/reference/annotations 주석을 사용하여 직렬화되는 속성을 수정하여 해결할 수 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다