/** * Puts a mapping on index * * @param array|object $mapping * @param array $config * @throws Exception * @return array */ public function map($mapping, array $config = array()) { if (is_array($mapping)) { $mapping = new Mapping($mapping); } $mapping->config($config); try { $type = $mapping->config('type'); } catch (\Exception $e) { } // No type is cool if (isset($type) && !$this->passesTypeConstraint($type)) { throw new Exception("Cant create mapping due to type constraint mismatch"); } return $this->request('_mapping', 'PUT', $mapping->export(), true); }