public ActionResult <IEnumerable <LogVariableDTO> > Get(int from, int size, [FromBody] LogVariableDTO forQuery) { getElasticsearchDataWithQueryAndSizeInterface getData = new GetData_ElasticsearchDAO("http://192.168.0.107:9200/"); List <LogVariableDTO> list = getData.getDataWithQuery(forQuery, from, size, "logforexample"); return(list); }
public List <LogVariableDTO> getDataWithQuery(LogVariableDTO forQuery, int from, int size, string indexName) { List <LogVariableDTO> logs = new List <LogVariableDTO>(); ElasticsearchQueryControl control = new ElasticsearchQueryControl(); var filters = control.Filters(forQuery); var searchResponse = elasticClient.Search <LogVariable>(x => x .Index(indexName) .From(from) .Size(size) .Query(q => q .Bool(bq => bq.Filter(filters)) )); foreach (var hit in searchResponse.Hits) { LogVariableDTO logDTO = new LogVariableDTO();//Buralar ELden Geçirilecek logDTO.id = hit.Source.id; logDTO.logDate = hit.Source.logDate; logDTO.logDescription = hit.Source.logDescription; logDTO.logType = hit.Source.userLevel = hit.Source.userLevel; logDTO.userName = hit.Source.userName; logDTO.userSurname = hit.Source.userSurname; logs.Add(logDTO); } return(logs); }
public static LogVariable TranslateToLogVariable(LogVariableDTO data) { LogVariable log = new LogVariable(); log.id = data.id; log.logDate = data.logDate; log.logDescription = data.logDescription; log.logType = data.logType; log.userLevel = data.userLevel; log.userName = data.userName; log.userSurname = data.userSurname; return(log); }
public string insertToElasticsearch(LogVariableDTO data, string indexName) { //var createIndexResponse = elasticClient.Indices.Create(indexName, c => c // .Map<LogVariable>(m => m.AutoMap()) // ); LogVariable log = new LogVariable(); log = ElasticsearchTranslate.TranslateToLogVariable(data); var response = elasticClient.Index(log, i => i .Index(indexName)); return(response.DebugInformation.ToString()); }
public List <LogVariableDTO> GetLastDatasWithFromAndSize(int from, int size, string indexName)//Tarihe göre sıralandırılacak { List <LogVariableDTO> listLogVariable = new List <LogVariableDTO>(); var response = this.elasticClient.Search <LogVariable>(s => s .Index(indexName) .From(from) .Size(size) .Query(q => q.MatchAll())); foreach (var hit in response.Hits) { LogVariableDTO logDTO = new LogVariableDTO(); logDTO.id = hit.Source.id; logDTO.logDate = hit.Source.logDate; logDTO.logDescription = hit.Source.logDescription; logDTO.logType = hit.Source.userLevel = hit.Source.userLevel; logDTO.userName = hit.Source.userName; logDTO.userSurname = hit.Source.userSurname; listLogVariable.Add(logDTO); } return(listLogVariable); }
public string Post([FromBody] LogVariableDTO value) { SendData_ElasticsearchDAO sendData = new SendData_ElasticsearchDAO("http://192.168.0.107:9200/"); return(sendData.insertToElasticsearch(value, "logforexample")); }
public List <Func <QueryContainerDescriptor <LogVariable>, QueryContainer> > Filters(LogVariableDTO forQuery) { var filters = new List <Func <QueryContainerDescriptor <LogVariable>, QueryContainer> >(); if (forQuery.id != "" && forQuery.id != null) { filters.Add(fq => fq.Terms(t => t.Field(f => f.id).Terms(forQuery.id))); } if (forQuery.logDate != null && forQuery.logDate.ToString() != "1.01.0001 00:00:00") { filters.Add(fq => fq.Terms(t => t.Field(f => f.logDate).Terms(forQuery.logDate))); } if (forQuery.logDescription != "" && forQuery.logDescription != null) { string[] words = forQuery.logDescription.Split(' '); Console.WriteLine(words.Length); for (int i = 0; i < words.Length; i++) { string word = words[i]; filters.Add(fq => fq.Wildcard(c => c.Field(f => f.logDescription).Value(word))); } } if (forQuery.logType != "" && forQuery.logType != null) { filters.Add(fq => fq.Terms(t => t.Field(f => f.logType).Terms(forQuery.logType))); } if (forQuery.userLevel != "" && forQuery.userLevel != null) { filters.Add(fq => fq.Terms(t => t.Field(f => f.userLevel).Terms(forQuery.userLevel))); } if (forQuery.userName != "" && forQuery.userName != null) { filters.Add(fq => fq.Terms(t => t.Field(f => f.userName).Terms(forQuery.userName))); } if (forQuery.userSurname != "" && forQuery.userSurname != null) { filters.Add(fq => fq.Terms(t => t.Field(f => f.userSurname).Terms(forQuery.userSurname))); } return(filters); }