/**
  * Prepare the spelling fied during mapping generation
  *
  * @return array
  */
 protected function _getSpellingFieldMapping()
 {
     $mapping = array();
     foreach ($this->_stores as $store) {
         $languageCode = $this->_helper->getLanguageCodeByStore($store);
         $defaultAnalyzer = 'analyzer_' . $languageCode;
         $mapping['spelling_' . $languageCode]['type'] = 'multi_field';
         $spellcheckBaseFieldProperties = array('type' => 'string', 'store' => false, 'fielddata' => array('format' => 'disabled'));
         $mapping['spelling_' . $languageCode]['fields'] = array('spelling_' . $languageCode => array_merge(array('analyzer' => $defaultAnalyzer), $spellcheckBaseFieldProperties), 'whitespace' => array_merge(array('analyzer' => 'whitespace'), $spellcheckBaseFieldProperties));
         $mapping['autocomplete'] = array('type' => 'string', 'store' => false, 'analyzer' => 'edge_ngram_front', 'fielddata' => array('format' => 'disabled'));
         if ($this->getCurrentIndex()->isPhoneticSupported($languageCode)) {
             $mapping['spelling_' . $languageCode]['fields']['phonetic_' . $languageCode] = array_merge(array('analyzer' => 'phonetic_' . $languageCode), $spellcheckBaseFieldProperties);
         }
     }
     return $mapping;
 }