Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 6
0
        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);
        }