/**
  * Retrieves the mapping for a particular type.
  * @return mixed
  */
 public function getMapping()
 {
     $pDoc = new ProviderDocumentType(new Initiative(), $this->container);
     $pMapping = $pDoc->getMapping();
     $iDoc = new InstitutionDocumentType(new Institution(), $this->container);
     $iMapping = $iDoc->getMapping();
     $sDoc = new SubjectDocumentType(new Stream(), $this->container);
     $sMapping = $sDoc->getMapping();
     // Next Session mapping for sorting
     $nsDoc = new SessionDocumentType(new Offering(), $this->container);
     $nsMapping = $nsDoc->getMapping();
     return array('provider' => array('properties' => $pMapping), 'subjects' => array("properties" => $sMapping), 'institutions' => array("properties" => $iMapping), 'nextSession' => array('properties' => $nsMapping), 'tags' => array('type' => "string", "index" => "not_analyzed"), "name" => array("type" => "string", "fields" => array("raw" => array("type" => "string", "index" => 'not_analyzed'))));
 }