package com.puhui.decision.es.service; import com.alibaba.fastjson.JSONObject; import com.puhui.decision.config.ESConfigurationProperties; import com.puhui.decision.entity.mongo.ModelLogEntity; import com.puhui.decision.service.EsService; import com.puhui.decision.utils.JsonMapUtils; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * Created by finup on 2018/4/3. */ @Service public class EsServiceImpl implements EsService { private static final Logger LOGGER = LoggerFactory.getLogger(EsService.class); @Autowired TransportClient esClient; @Autowired ESConfigurationProperties esConfigurationProperties; public List<ModelLogEntity> queryModelLogEntity(Map<String, String> map){ // String beginDate = map.get("beginDate"); // String endDate = map.get("endDate"); // String mongoConds = map.get("mongoConds"); // String numbers = map.get("numbers"); // // if (mongoConds != null && !"".equals(mongoConds)) { // Map<String, Object> condsMap = JsonMapUtils.strJson2Map(mongoConds); // for (Map.Entry<String, Object> entry : condsMap.entrySet()) { // LOGGER.info("condsMap,key={},value={}", entry.getKey(), entry.getValue()); // //criteria.and(entry.getKey()).is(entry.getValue()); // } // } RangeQueryBuilder rangequerybuilder = QueryBuilders .rangeQuery("time") .from("2017-03-23T03:35:10Z").to("2017-03-23T03:35:11Z"); LOGGER.info("当前es配置index1为{}", esConfigurationProperties.getIndex1()); SearchResponse response = esClient.prepareSearch(esConfigurationProperties.getIndex1()) .setTypes("models") .setQuery(QueryBuilders.matchQuery("mid", "GZModel5")) .setPostFilter(rangequerybuilder) .setFrom(0).setSize(10) .get(); SearchHits hits = response.getHits(); List reList = new ArrayList<>(); SearchHit[] modelLogEntity = response.getHits().getHits(); for (SearchHit hit : modelLogEntity) { reList.add(JSONObject.toJavaObject(new JSONObject(hit.getSource()), ModelLogEntity.class)); } return reList; } }
JAVA ES 查询
最新推荐文章于 2024-08-04 03:55:43 发布