私たちの symfony2 プロジェクトでは、ongr-io バンドルを使用して Elasticsearch を実装したいと考えていますが、システム全体は教義に基づいて構築されています。エンティティの代わりにドキュメントを使用してデータベース全体を完全にやり直すことなく、どうにかして ongr-io elasticsearch バンドルを使用することは可能ですか?
インデックスを作成するエンティティ (検索用のフィールドは、name、ChildCategory、および ParentCategory です):
/**
* Course
*
* @ORM\Table(name="course")
* @ORM\Entity(repositoryClass="CoreBundle\Repository\CourseRepository")
* @ORM\HasLifecycleCallbacks
*/
class Course
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, unique=false)
*/
private $name;
/**
* @var ParentCategory
*
* @ORM\ManyToOne(targetEntity="ParentCategory")
* @ORM\JoinColumn(name="parentCategory_id", referencedColumnName="id")
*/
private $parentCategory;
/**
* @var ChildCategory
*
* @ORM\ManyToOne(targetEntity="ChildCategory", inversedBy="courses")
* @ORM\JoinColumn(name="childCategory_id", referencedColumnName="id")
*/
private $childCategory;
/**
* @var City
*
* @ORM\ManyToOne(targetEntity="City")
* @ORM\JoinColumn(name="city_id", referencedColumnName="id")
*/
private $city;
/**
* @var Users
*
* @ORM\ManyToOne(targetEntity="UserBundle\Entity\Users", inversedBy="course")
* @ORM\JoinColumn(name="owner_id", referencedColumnName="id")
*/
private $owner;
/**
* @var text
*
* @ORM\Column(name="description", type="text")
*/
private $description;
/**
* @var Picture
*
* @ORM\OneToMany(targetEntity="CoreBundle\Entity\Picture", mappedBy="course", cascade={"persist", "remove"})
*/
private $pictures;
/**
* @var Ratings
*
* @ORM\OneToMany(targetEntity="CoreBundle\Entity\Ratings", mappedBy="courseid")
*/
private $ratings;
public $avgRating;
}