public function mapFieldNameFromType($field, $type, $hint = '') {
		if (isset($this->solrFields[$field])) {
			return $this->solrFields[$field];
		}

		if (strpos($type, '(')) {
			$type = substr($type, 0, strpos($type, '('));
		}

		if ($hint && is_string($hint) && $hint != 'default') {
			return str_replace(':field', $field, $hint);
		}

		if ($pos = strpos($field, ':')) {
			$field = substr($field, 0, $pos);
		}

		// otherwise, lets use a generic field for it
		switch ($type) {
			case 'MultiValueField': {
					return $field . '_ms';
			}
			case 'Text':
			case 'HTMLText': {
					return $field . '_t';
			}
			case 'Date':
			case 'SS_Datetime': {
					return $field . '_dt';
			}
			case 'Str':
			case 'Enum': {
					return $field . '_ms';
			}
			case 'Attr': {
				return 'attr_' . $field;
			}
			case 'Double':
			case 'Decimal':
			case 'Currency':
			case 'Float':
			case 'Money': {
				return $field . '_f';
			}
			case 'Int':
			case 'Integer': {
				return $field . '_i';
			}
			case 'SolrGeoPoint': {
				return $field . '_p';
			}
			case 'String': {
				return $field . '_s';
			}
			case 'Varchar':
			default: {
				return $field . '_as';
			}
		}
	}
public function mapFieldNameFromType($field, $type, $hint = '') {
		if (isset($this->solrFields[$field])) {
			return $this->solrFields[$field];
		}

		if (strpos($type, '(')) {
			$type = substr($type, 0, strpos($type, '('));
		}

		if ($hint && is_string($hint) && $hint != 'default') {
			return str_replace(':field', $field, $hint);
		}

		if ($pos = strpos($field, ':')) {
			$field = substr($field, 0, $pos);
		}

		// otherwise, lets use a generic field for it
		switch ($type) {
			case 'MultiValueField': {
					return $field . '_ms';
			}
			case 'Text':
			case 'HTMLText': {
					return $field . '_t';
			}
			case 'Date':
			case 'SS_Datetime': {
					return $field . '_dt';
			}
			case 'Str':
			case 'Enum': {
					return $field . '_ms';
			}
			case 'Attr': {
				return 'attr_' . $field;
			}
			case 'Double':
			case 'Decimal':
			case 'Currency':
			case 'Float':
			case 'Money': {
				return $field . '_f';
			}
			case 'Int':
			case 'Integer': {
				return $field . '_i';
			}
			case 'SolrGeoPoint': {
				return $field . '_p';
			}
			case 'String': {
				return $field . '_s';
			}
			case 'Varchar':
			default: {
				return $field . '_as';
			}
		}
	}
public function mapFieldNameFromType ( $ field , $ type , $ hint = '' ) { if ( isset ( $ this -> solrFields [ $ field ] ) ) { return $ this -> solrFields [ $ field ] ; } if ( strpos ( $ type , '(' ) ) { $ type = substr ( $ type , 0 , strpos ( $ type , '(' ) ) ; } if ( $ hint && is_string ( $ hint ) && $ hint != 'default' ) { return str_replace ( ':field' , $ field , $ hint ) ; } if ( $ pos = strpos ( $ field , ':' ) ) { $ field = substr ( $ field , 0 , $ pos ) ; } // otherwise, lets use a generic field for it switch ( $ type ) { case 'MultiValueField' : { return $ field . '_ms' ; } case 'Text' : case 'HTMLText' : { return $ field . '_t' ; } case 'Date' : case 'SS_Datetime' : { return $ field . '_dt' ; } case 'Str' : case 'Enum' : { return $ field . '_ms' ; } case 'Attr' : { return 'attr_' . $ field ; } case 'Double' : case 'Decimal' : case 'Currency' : case 'Float' : case 'Money' : { return $ field . '_f' ; } case 'Int' : case 'Integer' : { return $ field . '_i' ; } case 'SolrGeoPoint' : { return $ field . '_p' ; } case 'String' : { return $ field . '_s' ; } case 'Varchar' : default : { return $ field . '_as' ; } } }
Map a SilverStripe field to a Solr field

@param String $field
The field name
@param String $type
The field type
@param String $value
The value being stored (needed if a multival)

@return String
Map a SilverStripe field to a Solr field