From 145e816ea0c853bc747e586d0c7882fe6bf5b97d Mon Sep 17 00:00:00 2001 From: zhouhao Date: Thu, 5 Mar 2020 18:01:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elastic/search/AggregationTest.java | 170 ------------------ ...ElasticSearchQueryParamTranslatorTest.java | 47 ----- .../elastic/search/IndexInitTest.java | 61 ------- 3 files changed, 278 deletions(-) delete mode 100644 jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/AggregationTest.java delete mode 100644 jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/ElasticSearchQueryParamTranslatorTest.java delete mode 100644 jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/IndexInitTest.java diff --git a/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/AggregationTest.java b/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/AggregationTest.java deleted file mode 100644 index 0c107b3b..00000000 --- a/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/AggregationTest.java +++ /dev/null @@ -1,170 +0,0 @@ -package org.jetlinks.community.elastic.search; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.serializer.SerializerFeature; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.apache.http.HttpHost; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.client.RestHighLevelClient; -import org.hswebframework.web.api.crud.entity.QueryParamEntity; -import org.jetlinks.community.elastic.search.aggreation.bucket.Bucket; -import org.jetlinks.community.elastic.search.aggreation.bucket.Sort; -import org.jetlinks.community.elastic.search.aggreation.bucket.BucketAggregationsStructure; -import org.jetlinks.community.elastic.search.aggreation.enums.BucketType; -import org.jetlinks.community.elastic.search.aggreation.enums.MetricsType; -import org.jetlinks.community.elastic.search.aggreation.metrics.MetricsAggregationStructure; -import org.jetlinks.community.elastic.search.aggreation.metrics.MetricsResponseSingleValue; -import org.jetlinks.community.elastic.search.index.DefaultIndexOperationService; -import org.jetlinks.community.elastic.search.index.mapping.IndicesMappingCenter; -import org.jetlinks.community.elastic.search.service.AggregationService; -import org.jetlinks.community.elastic.search.aggreation.DefaultAggregationService; -import org.jetlinks.community.elastic.search.index.ElasticIndex; -import org.jetlinks.community.elastic.search.parser.DefaultLinkTypeParser; -import org.jetlinks.community.elastic.search.parser.DefaultQueryParamTranslateService; -import org.jetlinks.community.elastic.search.parser.QueryParamTranslateService; -import org.jetlinks.community.elastic.search.service.IndexOperationService; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import reactor.test.StepVerifier; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @author bsetfeng - * @since 1.0 - **/ -@Slf4j -public class AggregationTest { - - private ElasticRestClient client; - - private AggregationService aggregationService; - - private QueryParamTranslateService translateService; - - private IndexOperationService indexOperationService; - - - @BeforeEach - public void before() { - RestHighLevelClient restHighLevelClient = new RestHighLevelClient( - RestClient.builder(new HttpHost("localhost", 9200, "http"))); - client = new ElasticRestClient(restHighLevelClient,restHighLevelClient); - translateService = new DefaultQueryParamTranslateService(new DefaultLinkTypeParser()); - indexOperationService = new DefaultIndexOperationService(client, new IndicesMappingCenter()); - aggregationService = new DefaultAggregationService(indexOperationService, client, translateService); - } - - @Test - @SneakyThrows - public void minTest() { - MetricsAggregationStructure structure = new MetricsAggregationStructure(); - structure.setField("lineNumber"); - structure.setType(MetricsType.MIN); - aggregationService.metricsAggregation( - QueryParamEntity.of(), structure, - ElasticIndex.createDefaultIndex(() -> "system_log", () -> "doc")) - .doOnNext(metricsResponse -> { - log.info("lineNumber 最小值结果:{}", metricsResponse.getSingleResult().getValueAsString()); - }) - .as(StepVerifier::create) - .expectNextCount(1) - .verifyComplete(); - } - - @Test - @SneakyThrows - public void termsTest() { - BucketAggregationsStructure structure = new BucketAggregationsStructure(); - structure.setField("lineNumber"); - structure.setType(BucketType.TERMS); - structure.setSort(Sort.asc()); - structure.setSize(2); - aggregationService.bucketAggregation( - QueryParamEntity.of(), structure, - ElasticIndex.createDefaultIndex(() -> "system_log", () -> "doc")) - .doOnNext(bucketResponse -> { - log.info("lineNumber terms聚合结果:{}", JSON.toJSONString(bucketResponse, SerializerFeature.PrettyFormat)); - }) - .as(StepVerifier::create) - .expectNextCount(1) - .verifyComplete(); - } - - @Test - @SneakyThrows - public void termsNestMetricsTest() { - BucketAggregationsStructure structureTime = new BucketAggregationsStructure(); - structureTime.setField("name"); - structureTime.setType(BucketType.TERMS); - structureTime.setSubMetricsAggregation(Collections.singletonList(MetricsAggregationStructure.builder() - .field("value") - .type(MetricsType.AVG) - .build())); - BucketAggregationsStructure structure = new BucketAggregationsStructure(); - structure.setField("@timestamp"); - structure.setType(BucketType.DATE_HISTOGRAM); - structure.setFormat("yyyy-MM-dd"); - structure.setInterval("1d"); - structure.setSort(Sort.asc()); - structure.setSubBucketAggregation(Collections.singletonList(structureTime)); - aggregationService.bucketAggregation( - QueryParamEntity.of("id.keyword", "Metaspace"), structure, - ElasticIndex.createDefaultIndex(() -> "metrics-2019-12", () -> "")) - .doOnNext(bucketResponse -> { - - bucketResponse.getBuckets() - .forEach(bucket -> { - Map map = bucket.getBuckets() - .stream() - .collect(Collectors.toMap(Bucket::getKey, b-> b.getAvg().getValue())); - - Double committed = map.get("jvm_memory_committed"); - Double used = map.get("jvm_memory_used"); - if (committed != null && used != null) { - double result = committed / (used + committed); - bucket.setAvg(MetricsResponseSingleValue.builder() - .value(result) - .valueAsString(String.valueOf(result)) - .build()); - } else { - bucket.setAvg(MetricsResponseSingleValue.builder() - .value(0) - .valueAsString("0") - .build()); - log.error("获取jvm内存使用率异常, jvm可用内存:{}, jvm已使用内存:{},key:{}", committed, used, bucket.getKey()); - } - }); - log.info("lineNumber terms聚合结果:{}", JSON.toJSONString(bucketResponse, SerializerFeature.PrettyFormat)); - }) - .as(StepVerifier::create) - .expectNextCount(1) - .verifyComplete(); - } - - @Test - @SneakyThrows - public void termsNestBucketTest() { - BucketAggregationsStructure structure = new BucketAggregationsStructure(); - structure.setField("lineNumber"); - structure.setType(BucketType.TERMS); - structure.setSort(Sort.asc()); - structure.setSubBucketAggregation(Arrays.asList(BucketAggregationsStructure.builder() - .field("createTime") - .type(BucketType.TERMS) - .build())); - aggregationService.bucketAggregation( - QueryParamEntity.of(), structure, - ElasticIndex.createDefaultIndex(() -> "system_log", () -> "doc")) - .doOnNext(bucketResponse -> { - log.info("lineNumber terms聚合结果:{}", JSON.toJSONString(bucketResponse, SerializerFeature.PrettyFormat)); - }) - .as(StepVerifier::create) - .expectNextCount(1) - .verifyComplete(); - } -} diff --git a/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/ElasticSearchQueryParamTranslatorTest.java b/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/ElasticSearchQueryParamTranslatorTest.java deleted file mode 100644 index bbc76ec6..00000000 --- a/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/ElasticSearchQueryParamTranslatorTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.jetlinks.community.elastic.search; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.hswebframework.ezorm.core.dsl.Query; -import org.hswebframework.ezorm.core.param.QueryParam; -import org.jetlinks.community.elastic.search.index.mapping.IndexMappingMetadata; -import org.jetlinks.community.elastic.search.parser.DefaultLinkTypeParser; -import org.jetlinks.community.elastic.search.parser.DefaultQueryParamTranslateService; -import org.jetlinks.community.elastic.search.parser.QueryParamTranslateService; -import org.junit.Assert; -import org.junit.jupiter.api.Test; - -/** - * @author bsetfeng - * @since 1.0 - **/ -public class ElasticSearchQueryParamTranslatorTest { - - @Test - public void test() { - - Query query = Query.of(new QueryParam()) - .where() - .is("methodName", "error") - .or() - .in("level", "ERROR", "DEBUG") - .orNest() - .or() - .is("threadId", "44") - .or() - .is("lineNumber", "319") - .between("aaa", "2019-12-11 22:00:10", "2019-12-11 23:00:10") - .end(); - - QueryParamTranslateService translateService = new DefaultQueryParamTranslateService(new DefaultLinkTypeParser()); - SearchSourceBuilder searchSourceBuilder = translateService.translate(query.getParam(), IndexMappingMetadata.getInstance("")); - - JSONObject jsonObject = JSON.parseObject(searchSourceBuilder.query().toString()); - - JSONObject boolJson = jsonObject.getJSONObject("bool"); - Assert.assertEquals(boolJson.getJSONArray("must").size(), 1); - Assert.assertEquals(boolJson.getJSONArray("should").size(), 2); - System.out.println(searchSourceBuilder.query().toString()); - } -} diff --git a/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/IndexInitTest.java b/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/IndexInitTest.java deleted file mode 100644 index 191814a3..00000000 --- a/jetlinks-components/elasticsearch-component/src/test/java/org/jetlinks/community/elastic/search/IndexInitTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.jetlinks.community.elastic.search; - -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.apache.http.HttpHost; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.client.RestHighLevelClient; -import org.elasticsearch.client.indices.CreateIndexRequest; -import org.jetlinks.community.elastic.search.enums.FieldDateFormat; -import org.jetlinks.community.elastic.search.enums.FieldType; -import org.jetlinks.community.elastic.search.index.CreateIndex; -import org.jetlinks.community.elastic.search.index.DefaultIndexOperationService; -import org.jetlinks.community.elastic.search.index.mapping.IndicesMappingCenter; -import org.jetlinks.community.elastic.search.service.IndexOperationService; -import org.junit.jupiter.api.Test; -import reactor.test.StepVerifier; - -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.format.DateTimeFormatter; -import java.util.Date; - -/** - * @author bsetfeng - * @since 1.0 - **/ -@Slf4j -public class IndexInitTest { - RestHighLevelClient client = new RestHighLevelClient( - RestClient.builder(new HttpHost("localhost", 9200, "http"))); - IndexOperationService operationService = - new DefaultIndexOperationService(new ElasticRestClient(client,client),new IndicesMappingCenter()); - - @Test - @SneakyThrows - public void simpleTest() { - - CreateIndexRequest request = CreateIndex.createInstance() - .addIndex("bestfeng") - .createMapping() - .addFieldName("date").addFieldType(FieldType.DATE).addFieldDateFormat(FieldDateFormat.epoch_millis, FieldDateFormat.simple_date).commit() - .addFieldName("name").addFieldType(FieldType.KEYWORD).commit() - .end() - .createSettings() - .settingReplicas(2) - .settingShards(6) - .end() - .createIndexRequest(); - operationService.init(request) - .as(StepVerifier::create) - .expectNextMatches(bool -> bool) - .verifyComplete(); - } - - public static void main(String[] args) { - Date date2 = new Date(1575528676826L); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - LocalDateTime localDateTime2 = LocalDateTime.ofInstant(date2.toInstant(), ZoneId.systemDefault()); - System.out.println(localDateTime2.format(formatter)); - } -}