func (service *Service) Init(sys *piazza.SystemConfig, esIndex elasticsearch.IIndex) error { var err error service.stats.CreatedOn = time.Now() /*** err = esIndex.Delete() if err != nil { log.Fatal(err) } if esIndex.IndexExists() { log.Fatal("index still exists") } err = esIndex.Create() if err != nil { log.Fatal(err) } ***/ ok, err := esIndex.IndexExists() if err != nil { return err } if !ok { log.Printf("Creating index: %s", esIndex.IndexName()) err = esIndex.Create("") if err != nil { log.Fatal(err) } } ok, err = esIndex.TypeExists(schema) if err != nil { return err } if !ok { log.Printf("Creating type: %s", schema) mapping := `{ "LogData7":{ "dynamic": "strict", "properties": { "service": { "type": "string", "store": true, "index": "not_analyzed" }, "address": { "type": "string", "store": true, "index": "not_analyzed" }, "createdOn": { "type": "date", "store": true, "index": "not_analyzed" }, "severity": { "type": "string", "store": true, "index": "not_analyzed" }, "message": { "type": "string", "store": true, "index": "analyzed" } } } }` err = esIndex.SetMapping(schema, piazza.JsonString(mapping)) if err != nil { log.Printf("LoggerService.Init: %s", err.Error()) return err } } service.esIndex = esIndex service.origin = string(sys.Name) return nil }