public class DocumentModel { public string Index { get; set; } public string Type { get; set; } public string Id { get; set; } [ElasticProperty(Type = FieldType.Nested)] public dynamic Document { get; set; } }
简单实施:
[HttpPost] [Route("")] public IHttpActionResult Post(DocumentModel document) { Uri nodeLocation = new Uri("http://localhost:9200"); IConnectionPool connectionPool = new SniffingConnectionPool(new List { nodeLocation }); ConnectionSettings settings = new ConnectionSettings(connectionPool); ElasticClient esClient = new ElasticClient(settings); IIndexResponse result = esClient.Index(document, i => i .Index(document.Index) .Type(document.Type) .Id(document.Id)); return Ok(result.IsValid); }