static void Main(string[] args) { var indexName = "geodocument"; var connectionPool = new Elasticsearch.Net.SniffingConnectionPool(new Uri[] { new Uri("http://localhost:9200") }); var connectionSettings = new Nest.ConnectionSettings(connectionPool); connectionSettings.DefaultIndex(indexName); connectionSettings.DisableDirectStreaming(); var elasticClient = new ElasticClient(connectionSettings); Func <TypeMappingDescriptor <GeoDocument>, ITypeMapping> typeMapping = m => m .Dynamic(false) .Properties(ps => ps .Keyword(k => k .Name(n => n.DocId)) .GeoShape(g => g .PointsOnly(false) .Name(o => o.GeoField))); elasticClient.CreateIndex(new CreateIndexDescriptor(indexName).Mappings(ms => ms.Map(typeMapping))); var polygon = "{\"type\":\"Polygon\",\"coordinates\":[[[5.856956,51.002753],[5.856928,51.002771],[5.856687,51.002853],[5.856956,51.002753]]]}"; var document = new GeoDocument() { DocId = "1", GeoField = JsonConvert.DeserializeObject <object>(polygon), }; var indexResponse = elasticClient.IndexDocument(document); Console.WriteLine(indexResponse.DebugInformation); elasticClient.DeleteIndex(new DeleteIndexRequest(indexName)); Console.ReadKey(); }
public void Test2() { //连接池:Connection pool var uris = new[] { new Uri("http://localhost:9200"), new Uri("http://localhost:9201"), new Uri("http://localhost:9202"), }; var connectionPool = new Elasticsearch.Net.SniffingConnectionPool(uris); var settings = new Elasticsearch.Net.ConnectionConfiguration(connectionPool); var lowlevelClient = new Elasticsearch.Net.ElasticLowLevelClient(settings); }