} else if (fieldName.equals(RoutingFieldMapper.NAME) && token == Token.VALUE_STRING) {
indexRequest.routing(parser.text());
} else if (fieldName.equals(TimestampFieldMapper.NAME) && token == Token.VALUE_NUMBER) {
indexRequest.timestamp(String.valueOf(parser.longValue()));
} else if (fieldName.equals(TTLFieldMapper.NAME) && token == Token.VALUE_NUMBER) {
ttl = parser.longValue();
} else if (fieldName.equals("_version") && token == Token.VALUE_NUMBER) {
indexRequest.version(parser.longValue());
indexRequest.versionType(VersionType.EXTERNAL);
} else if (fieldName.equals(SourceFieldMapper.NAME) && token == Token.START_OBJECT) {
sourceBuilder.copyCurrentStructure(parser);