NEST/Elasticsearch.Net version:5.5

I want to Create index with model like below:
public class company
{

public long id { get; set; }

public string name { get; set; }

public string address { get; set; }

public long areaCode { get; set; }

public string city { get; set; }

public string state { get; set; }

public string latestActivityTimestamp { get; set; }

public location location { get; set; }
}

public class location
{
[JsonProperty(PropertyName = "lat")]
public double latitude { get; set; }

[JsonProperty(PropertyName = "lon")]
public double longitude { get; set; }
}

I want to Create index it and mapping the location as GeoPoint ,I find some example like :
internal class Location
{
[JsonProperty(PropertyName = "lat")]
public double Latitude { get; set; }

[JsonProperty(PropertyName = "lon")]
public double Longitude { get; set; }

}
and then mapping it with:
.MapFromAttributes()
.Properties(p =>
p.GeoPoint(s =>
s.Name(n => n.Location).IndexGeoHash().IndexLatLon().GeoHashPrecision(12)
)
)

The Problem is I can not find MapFromAttributes(), IndexGeoHash() ,I don't know how to deal with my problem.

---
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB