wangdong6 4 年 前
コミット
d3c6e95a62
共有1 個のファイルを変更した0 個の追加106 個の削除を含む
  1. 0 106
      src/main/java/com/ai/bss/es/esmanage/controller/EsController.java

+ 0 - 106
src/main/java/com/ai/bss/es/esmanage/controller/EsController.java

3
import com.ai.bss.es.esmanage.service.EsService;
3
import com.ai.bss.es.esmanage.service.EsService;
4
import com.ai.bss.es.esmanage.utils.RequestEntity;
4
import com.ai.bss.es.esmanage.utils.RequestEntity;
5
import com.ai.bss.es.esmanage.utils.ResponseResult;
5
import com.ai.bss.es.esmanage.utils.ResponseResult;
6
import org.elasticsearch.action.index.IndexRequest;
7
import org.elasticsearch.action.index.IndexResponse;
8
import org.elasticsearch.action.search.SearchRequest;
9
import org.elasticsearch.action.search.SearchResponse;
10
import org.elasticsearch.client.RequestOptions;
11
import org.elasticsearch.client.RestHighLevelClient;
12
import org.elasticsearch.common.xcontent.XContentType;
13
import org.elasticsearch.index.query.BoolQueryBuilder;
14
import org.elasticsearch.index.query.MatchQueryBuilder;
15
import org.elasticsearch.index.query.QueryBuilders;
16
import org.elasticsearch.search.SearchHit;
17
import org.elasticsearch.search.aggregations.AggregationBuilders;
18
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
19
import org.elasticsearch.search.aggregations.metrics.AvgAggregationBuilder;
20
import org.elasticsearch.search.builder.SearchSourceBuilder;
21
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.beans.factory.annotation.Autowired;
22
import org.springframework.beans.factory.annotation.Value;
23
import org.springframework.web.bind.annotation.PostMapping;
7
import org.springframework.web.bind.annotation.PostMapping;
24
import org.springframework.web.bind.annotation.RequestBody;
8
import org.springframework.web.bind.annotation.RequestBody;
25
import org.springframework.web.bind.annotation.RequestMapping;
9
import org.springframework.web.bind.annotation.RequestMapping;
26
import org.springframework.web.bind.annotation.RestController;
10
import org.springframework.web.bind.annotation.RestController;
27
11
28
import java.io.IOException;
12
import java.io.IOException;
29
import java.util.ArrayList;
30
import java.util.List;
31
import java.util.Map;
32
13
33
@RestController
14
@RestController
34
@RequestMapping("/es")
15
@RequestMapping("/es")
35
public class EsController {
16
public class EsController {
36
17
37
    @Autowired
18
    @Autowired
38
    private RestHighLevelClient client;
39
40
    @Autowired
41
    private EsService esService;
19
    private EsService esService;
42
20
43
    @PostMapping("/execute")
21
    @PostMapping("/execute")
44
    ResponseResult execute(@RequestBody RequestEntity requestEntity) throws IOException {
22
    ResponseResult execute(@RequestBody RequestEntity requestEntity) throws IOException {
45
//        SearchRequest requestEs = null;
46
//        String entity = requestEntity.getEntity();
47
//        String methods = requestEntity.getMethods();
48
//        String tableName = requestEntity.getTableName();
49
//        String type = requestEntity.getType();
50
//        if("search".equals(methods)){
51
//            requestEs =  new SearchRequest(tableName);
52
//            SearchResponse searchResponse = client.search(requestEs, RequestOptions.DEFAULT);
53
//
54
//            //6、开始处理返回的数据
55
//            SearchHit[] hits = searchResponse.getHits().getHits();
56
//            List<String> list = new ArrayList<String>();
57
//            for (SearchHit hit : hits) {
58
//                String hitString = hit.getSourceAsString();
59
//                System.out.println(hitString);
60
//                list.add(hitString);
61
//            }
62
//            ResponseResult.sucess(list);
63
//        }
64
//
65
//        if("GET".equals(methods)){
66
//            requestEs =  new SearchRequest(tableName);
67
//            SearchResponse searchResponse = null;//purePersist(requestEs, RequestOptions.DEFAULT);
68
//
69
//            //6、开始处理返回的数据
70
//            SearchHit[] hits = searchResponse.getHits().getHits();
71
//            List<String> list = new ArrayList<String>();
72
//            for (SearchHit hit : hits) {
73
//                String hitString = hit.getSourceAsString();
74
//                System.out.println(hitString);
75
//                list.add(hitString);
76
//            }
77
//            ResponseResult.sucess(list);
78
//        }
79
23
80
        return esService.executeEsEntity(requestEntity);
24
        return esService.executeEsEntity(requestEntity);
81
    }
25
    }
82
26
83
84
    @RequestMapping("/test")
85
    List<String> contextLoads() throws IOException {
86
        //1、创建查询请求,规定查询的索引
87
        SearchRequest request = new SearchRequest("es_terminal_event");
88
        //2、创建条件构造
89
        SearchSourceBuilder builder = new SearchSourceBuilder();
90
        //3、构造条件
91
        MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("address", "Lane");
92
        builder.query(matchQueryBuilder);
93
        //聚合年龄分布
94
        TermsAggregationBuilder ageAgg = AggregationBuilders.terms("ageAgg").field("age");
95
        builder.aggregation(ageAgg);
96
//
97
//        //聚合平均年龄
98
        AvgAggregationBuilder balanceAvg = AggregationBuilders.avg("balanceAvg").field("balance");
99
        builder.aggregation(balanceAvg);
100
101
        List<String> ids = new ArrayList();
102
        ids.add("981489");
103
        ids.add("155682");
104
        BoolQueryBuilder exersiceBoolQuery = QueryBuilders.boolQuery();
105
        for (String exerciseId: ids)
106
        {
107
            exersiceBoolQuery.must(QueryBuilders.termQuery("resourceId", exerciseId));
108
        }
109
        builder.query(exersiceBoolQuery);
110
111
        //4、将构造好的条件放入请求中
112
        request.source(builder);
113
114
        //5、开始执行发送request请求
115
        SearchResponse searchResponse = client.search(request, RequestOptions.DEFAULT);
116
117
118
119
        //6、开始处理返回的数据
120
        SearchHit[] hits = searchResponse.getHits().getHits();
121
        List<String> list = new ArrayList<String>();
122
        for (SearchHit hit : hits) {
123
            String hitString = hit.getSourceAsString();
124
            System.out.println(hitString);
125
            list.add(hitString);
126
        }
127
        return list;
128
129
130
131
132
    }
133
}
27
}