Commit e214cbd1 by admin

优化了查询的代码,减少查询的时间

parent 8dc4e341
...@@ -34,7 +34,7 @@ import com.zhiwei.manage.util.ESUtil; ...@@ -34,7 +34,7 @@ import com.zhiwei.manage.util.ESUtil;
import com.zhiwei.manage.util.SendMailUtil; import com.zhiwei.manage.util.SendMailUtil;
import com.zhiwei.manage.util.TimeUtil; import com.zhiwei.manage.util.TimeUtil;
@Component //@Component
public class MainThread extends Thread { public class MainThread extends Thread {
private static final Log log = LogFactory.getLog(MainThread.class); private static final Log log = LogFactory.getLog(MainThread.class);
......
...@@ -117,7 +117,7 @@ public class ESUtil { ...@@ -117,7 +117,7 @@ public class ESUtil {
time.add(Calendar.HOUR_OF_DAY, -8); time.add(Calendar.HOUR_OF_DAY, -8);
String result=""; String result="";
result=sdf.format(time.getTime())+"T" result=sdf.format(time.getTime())+"T"
+(time.get(Calendar.HOUR_OF_DAY)>10?time.get(Calendar.HOUR_OF_DAY):"0"+time.get(Calendar.HOUR_OF_DAY) +(time.get(Calendar.HOUR_OF_DAY)>=10?time.get(Calendar.HOUR_OF_DAY):"0"+time.get(Calendar.HOUR_OF_DAY)
+":00:00.000Z"); +":00:00.000Z");
return result; return result;
} }
...@@ -158,20 +158,19 @@ public class ESUtil { ...@@ -158,20 +158,19 @@ public class ESUtil {
loopTime.setTime(startTime.getTime()); loopTime.setTime(startTime.getTime());
loopTime.add(Calendar.HOUR_OF_DAY, 1); loopTime.add(Calendar.HOUR_OF_DAY, 1);
endTime.add(Calendar.HOUR_OF_DAY, 1);//n+1 endTime.add(Calendar.HOUR_OF_DAY, 1);//n+1
SearchRequestBuilder srb = esClient.prepareSearch(ser.getCollection());
BoolQueryBuilder bb = new BoolQueryBuilder();
QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery(key, value);
bb.should(matchQuery);
srb.setQuery(bb);
srb.setSize(1);
while (startTime.getTime().before(endTime.getTime())) { while (startTime.getTime().before(endTime.getTime())) {
// 搜索数据 // 搜索数据
SearchRequestBuilder srb = esClient.prepareSearch(ser.getCollection());
BoolQueryBuilder bb = new BoolQueryBuilder();
QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery(key, value);
bb.should(matchQuery);
srb.setQuery(bb);
srb.setSize(1);
srb.setPostFilter(QueryBuilders.rangeQuery("time").gte(getNeedTime(startTime)).lte(getNeedTime(loopTime))); srb.setPostFilter(QueryBuilders.rangeQuery("time").gte(getNeedTime(startTime)).lte(getNeedTime(loopTime)));
SearchResponse response = srb.execute().actionGet(); SearchResponse response = srb.execute().actionGet();
SearchHits searchHits = response.getHits();
Data data=new Data(); Data data=new Data();
data.setSource(method); data.setSource(method);
data.setCount(searchHits.getTotalHits()); data.setCount(response.getHits().getTotalHits());
data.setTime(startTime.getTime()); data.setTime(startTime.getTime());
list.add(data); list.add(data);
startTime.add(Calendar.HOUR_OF_DAY, 1); startTime.add(Calendar.HOUR_OF_DAY, 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment