JSONObject resJSON = new JSONObject();
JSONArray jsonArr = new JSONArray();
int currentPageInt = 0;
int pageSizeInt = 10;
// 提取分页参数
if (jmpt_name == null || “undefined”.equals(jmpt_name)) {
jmpt_name = “”;
}
if (mobileLocation == null || “undefined”.equals(mobileLocation)) {
mobileLocation = “”;
}
if (pageSize != null && !“”.equals(pageSize)) {
pageSizeInt = Integer.parseInt(pageSize);
}
if (currentPage != null && !“”.equals(currentPage)) {
currentPageInt = Integer.parseInt(currentPage) * pageSizeInt;
}
// 查询流程***(重要):子查询对象(QueryBuilder)–>父查询对象(BoolQueryBuilder)–>查询函数构造对象(SearchSourceBuilder)–>请求发起对象(SearchRequest )–>发起请求–>返回结果(SearchResponse)
// 创建父查询对象
BoolQueryBuilder srBuilder = QueryBuilders.boolQuery();
// 创建子查询对象
QueryBuilder jmpt_nameBuilder = null;
QueryBuilder locationBuilder = null;
// 创建查询函数构造对象
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
System.out.println(“打印提交的DSL语句:sourceBuilder–:” + sourceBuilder);
// 参数注入到
if (!“”.equals(jmpt_name)){
jmpt_nameBuilder = QueryBuilders.queryStringQuery(jmpt_name).field(“jmpt_name”);// 根据字段平台名称(jmpt_name)进行查询
srBuilder.must(jmpt_nameBuilder);//子查询对象放入父查询对象中
}
if (!“”.equals(mobileLocation)){
locationBuilder = QueryBuilders.queryStringQuery(mobileLocation).field(“provience”);// 根据字段省份(field:provience)进行查询
srBuilder.must(locationBuilder);//子查询对象放入父查询对象中
}
sourceBuilder.query(srBuilder); // 把父查询对象放入函数构造对象中
sourceBuilder.from(currentPageInt); // 参数范围起
sourceBuilder.size(pageSizeInt); // 参数范围始
sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));// 设置超时时间
sourceBuilder.trackTotalHits(true); // 取消默认最大查询数量上限(默认10000)
// 构造 请求发起对象
SearchRequest searchRequest = new SearchRequest(“phone”);// 这里直接配置索引名即可
// searchRequest.indices(“phone”);
searchRequest.source(sourceBuilder);// 把查询函数构造对象注入查询请求中
SearchResponse searchResponse;// 创建响应对象
SearchHits searchHits = null;
try {
searchResponse = this.client.search(searchRequest,RequestOptions.DEFAULT);
searchHits = searchResponse.getHits();//获取响应中的列表数据
String total = searchHits.getTotalHits().value;//获取响应中的列表数据总数
for(SearchHit hit:searchHits.getHits()){// 遍历构造返回JSON,以下不再多说
JSONObject dataJSON = new JSONObject();
String tempRes = hit.getSourceAsString();
dataJSON = JSONObject.parseObject(tempRes);
jsonArr.add(dataJSON);
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
总结
无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。
最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。
[外链图片转存中…(img-4Q7mh8LM-1711391256618)]