У меня проблемы с конфигурацией пакета FOSElastica.Я пытаюсь использовать сериализатор Symfony для заполнения поиска Elastic с помощью FOSElastica, и он хорошо работает для простых объектов, которым не нужно иметь группы атрибутов, но когда я пытаюсь сериализовать только группу атрибутов, все, что я получаю, этоследующая ошибка:
In Bulk.php line 411:
Error in one or more bulk request actions:
index: /journal/journal/2 caused failed to parse
index: /journal/journal/3 caused failed to parse
index: /journal/journal/4 caused failed to parse
Мой файл конфигурации:
fos_elastica:
serializer: ~
clients:
default: { host: localhost, port: 9200 }
indexes:
journal:
types:
journal:
serializer:
groups: [elastica]
persistence:
driver: orm
model: TAMAS\AstroBundle\Entity\Journal
Моя сущность "Журнал":
use Symfony\Component\Serializer\Annotation\Groups;
/**
* Journal
*
* @ORM\Table(name="journal")
* @ORM\Entity(repositoryClass="TAMAS\AstroBundle\Repository\JournalRepository")
* @UniqueEntity(fields="journalTitle", message="This title is already recorded in the database.")
*/
class Journal {
/**
* @Groups({"elastica"})
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="journal_title", type="string", length=500)
* @Assert\NotBlank()
*/
private $journalTitle;
/**
* @Groups({"elastica"})
* Get id
*
* @return int
*/
public function getId() {
return $this->id;
}
/**
* @Groups({"elastica"})
* Set id
*
* @param int $id
*
* @return Journal
*/
public function setId($id) {
$this->id = $id;
return $this;
}
/**
* Set journalTitle
*
* @param string $journalTitle
*
* @return Journal
*/
public function setJournalTitle($journalTitle) {
$this->journalTitle = $journalTitle;
return $this;
}
/**
* Get journalTitle
*
* @return string
*/
public function getJournalTitle() {
return $this->journalTitle;
}
}
Если я не введу в конфигурациюfile:
serializer:
groups: [elastica]
Для такой организации, как эта, все в порядке, сопоставление выполнено, иasticsearch успешно заполняет индекс.Но для сущностей с круговыми ссылками, например, мне нужен сериализатор и группы.Не могли бы вы понять, в чем может быть проблема?
Для справки, я кодирую / редактирую файлы с помощью Eclipse / Sublime Text и выполняю свои тесты с помощью команд и запросов curl.
EDITЯ установил JMS / serializer-bundle, и он работает нормально.Я думаю, что есть реальная проблема между пакетом FOSElastica и сериализатором Symfony.Это похоже на обходной путь, поэтому, если у кого-то есть понимание проблемы между ними, все равно будет интересно