完善历史数据查询接口

This commit is contained in:
fanghongchao
2018-12-14 11:06:54 +08:00
parent 66e5779615
commit 5498e937a4
6 changed files with 1321 additions and 169 deletions
@@ -1,26 +1,23 @@
package com.gzzn.omms.adminapi.controller.history;
import java.util.HashMap;
import java.util.Map;
import io.swagger.annotations.ApiOperation;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortOrder;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.gzzn.omms.adminapi.dto.ResponseDto;
import com.gzzn.omms.adminapi.dto.history.HistoryFilghtConditionDto;
import com.gzzn.omms.adminapi.elasticsearch.ElasticsearchUtil;
import com.gzzn.omms.adminapi.elasticsearch.EsPage;
import com.gzzn.omms.adminapi.utils.DateUtils;
import com.gzzn.omms.adminapi.utils.GzznFileUtils;
/**
* 历史航班数据 controller
* @author fhc
@@ -31,50 +28,61 @@ import com.gzzn.omms.adminapi.utils.GzznFileUtils;
public class HistoryFlightDataController {
/**
* 操作日志索引
* 历史航班数据索引
*/
private final String INDEX_NAME = "airplant_hst";
private final String INDEX_NAME = "flight_hts";
/**
* 操作日志类型
* 历史航班数据类型
*/
private final String OPLOG_ES_TYPE = "_doc";
private final String ES_TYPE = "_doc";
@ApiOperation(value="获取历史航班数据",tags="历史航班数据")
@ApiOperation(value="获取历史航班数据(只提供计划时间的出发/到达时间段查询)",tags="历史航班数据")
@PostMapping(value="/hitFlightData/list")
public ResponseDto<EsPage> findAllByGroupCode(@RequestBody HistoryFilghtConditionDto conditions) {
//TODO 修改 ElasticsearchUtil 进行分页查询
public ResponseDto<Object> findAllByGroupCode(@RequestBody HistoryFilghtConditionDto conditions) {
Integer pageIndex = StringUtils.isEmpty(conditions.getPageIndex())?1:conditions.getPageIndex();
Integer pageSize = StringUtils.isEmpty(conditions.getPageSize())?10:conditions.getPageSize();
Long startTimeL = StringUtils.isEmpty(conditions.getStartTime())?DateUtils.getTodayStartTime():DateUtils.dateToStamp(conditions.getStartTime()+" 00:00:00","yyyy-MM-dd HH:mm:ss");
Long endTimeL = StringUtils.isEmpty(conditions.getEndTime())?System.currentTimeMillis():DateUtils.dateToStamp(conditions.getEndTime()+" 23:59:59","yyyy-MM-dd HH:mm:ss");
String startTime = StringUtils.isEmpty(conditions.getStartSODT())?null:DateUtils.swichTimeToEn_ddMMMyyHHmm(conditions.getStartSODT());
String endTime = StringUtils.isEmpty(conditions.getEndSODT())?null:DateUtils.swichTimeToEn_ddMMMyyHHmm(conditions.getEndSODT());
String MVIN = conditions.getMVIN();//到达/离港
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
boolQuery.must(QueryBuilders.rangeQuery("log_datetime")
.gt(startTimeL).lt(endTimeL)
.includeLower(true).includeUpper(true));
// if(!StringUtils.isEmpty(keyword)){ //使用模糊搜索 不使用分词
// boolQuery.must(QueryBuilders.boolQuery()
// .should(QueryBuilders.wildcardQuery("summary", "*"+keyword+"*"))
// .should(QueryBuilders.wildcardQuery("real_name", "*"+keyword+"*"))
// .should(QueryBuilders.wildcardQuery("log_content", "*"+keyword+"*")));
// }
EsPage page = ElasticsearchUtil.searchDataPage(INDEX_NAME, OPLOG_ES_TYPE, pageIndex, pageSize, boolQuery, null, null, null);
return ResponseDto.success(page);
//获取前一天的历史数据
String hitStartTime = DateUtils.getNewDateOfDayMixOrMaxTime(new Date(), "Day", -1, "MIN");
String hitEndTime = DateUtils.getNewDateOfDayMixOrMaxTime(new Date(), "Day", -1, "MAX");
boolQuery.must(QueryBuilders.rangeQuery("SODT")
.gte(hitStartTime).lte(hitEndTime));
if(!StringUtils.isEmpty(startTime) && !StringUtils.isEmpty(endTime)){
boolQuery.must(QueryBuilders.rangeQuery("SODT")
.gte(startTime).lte(endTime));
}
if(!StringUtils.isEmpty(startTime) && StringUtils.isEmpty(endTime)){
boolQuery.must(QueryBuilders.rangeQuery("SODT")
.gte(startTime));
}
if(StringUtils.isEmpty(startTime) && !StringUtils.isEmpty(endTime)){
boolQuery.must(QueryBuilders.rangeQuery("SODT")
.lte(startTime));
}
if(!StringUtils.isEmpty(MVIN)){
boolQuery.must(QueryBuilders.termQuery("MVIN", MVIN));
}
String sortField = "SODT";//计划时间 默认倒序
SortOrder sortOrder = SortOrder.ASC;
List<Map<String, Object>> list = ElasticsearchUtil.searchListData(INDEX_NAME, ES_TYPE, boolQuery, null, null, sortField,sortOrder, null);
return ResponseDto.success(list);
}
@RequestMapping(value="/findTest/{log_type}",method = RequestMethod.GET)
public ResponseDto<EsPage> findTest(@PathVariable String log_type){
//获取查询条件script
String script = GzznFileUtils.getFileContent("/es/findTest.query");
//封装参数 分页等参数全都放入此处
Map<String, Object> params = new HashMap<String, Object>();
params.put("log_type", log_type);
params.put("from", 1);
params.put("size", 10);
//执行查询
return ResponseDto.success(ElasticsearchUtil.searchDataPageByScript(INDEX_NAME, params, script,1,10));
}
// @RequestMapping(value="/findTest/{log_type}",method = RequestMethod.GET)
// public ResponseDto<EsPage> findTest(@PathVariable String log_type){
// //获取查询条件script
// String script = GzznFileUtils.getFileContent("/es/findTest.query");
// //封装参数 分页等参数全都放入此处
// Map<String, Object> params = new HashMap<String, Object>();
// params.put("log_type", log_type);
// params.put("from", 1);
// params.put("size", 10);
// //执行查询
// return ResponseDto.success(ElasticsearchUtil.searchDataPageByScript(INDEX_NAME, params, script,1,10));
// }
}
@@ -12,135 +12,30 @@ import io.swagger.annotations.ApiModelProperty;
@ApiModel(value="历史航班数据条件Dto",description="查询历史航班数据的条件DTO")
public class HistoryFilghtConditionDto {
@ApiModelProperty(value="当前页,默认从1开始",example="1")
private Integer pageIndex;
@ApiModelProperty(value="每页大小,默认10",example="10")
private Integer pageSize;
@ApiModelProperty(value="航空公司_id",example="147576845")
private String airlineId;
@ApiModelProperty(value="航空公司_名",example="长龙航空有限公司")
private String airlineName;
@ApiModelProperty(value="航线类别",example="航线类别类别,I-国际、D-国内、M-混合")
private String routeType;
@ApiModelProperty(value="航班任务",example="航班任务:S=正班、N=包机、E=急救、B=专机、G=通用、J=加班、M=军用、Q=补班、X=其他、A=计划外(原参考分类:正班、加班、补班、中转、计划外、计划外中转、货运、训练...)")
private String flightTask;
@ApiModelProperty(value="出发/到达",example="到达/出发(进港/出港)标志,A-到达、D-出发")
private String arriOrDept;
@ApiModelProperty(value="航班代理",example="航班代理")
private String flightAgentId;
@ApiModelProperty(value="开始时间",example="开始时间(yyyy-mm-dd)")
private String startTime;
@ApiModelProperty(value="结束时间",example="结束时间(yyyy-mm-dd)")
private String endTime;
@ApiModelProperty(value="航班异常状态",example="是否故障(0-否 1-是)")
private String isAbnormal;
private String MVIN;
@ApiModelProperty(value="是否查询航班关联信息",example="是否查询航班关联信息,Y-是、N-否")
private String ifShowtRelation;
@ApiModelProperty(value="是否查询详细信息",example="是否查询详细信息,Y-是、N-否")
private String ifShowtDetail;
@ApiModelProperty(value="是否查询保障信息",example="是否查询保障信息,Y-是、N-否")
private String ifShowtEnsure ;
@ApiModelProperty(value="是否查询航班VIP信息",example="是否查询航班VIP信息,Y-是、N-否")
private String ifShowtVIP;
@ApiModelProperty(value="是否查询航班特服信息",example="是否查询航班特服信息,Y-是、N-否")
private String ifShowtSpecialService;
public Integer getPageIndex() {
return pageIndex;
@ApiModelProperty(value="开始时间",example="开始时间(yyyy-mm-dd HH:mm)")
private String startSODT;
@ApiModelProperty(value="结束时间",example="结束时间(yyyy-mm-dd HH:mm)")
private String endSODT;
public String getMVIN() {
return MVIN;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageIndex;
public void setMVIN(String mVIN) {
MVIN = mVIN;
}
public Integer getPageSize() {
return pageSize;
public String getStartSODT() {
return startSODT;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
public void setStartSODT(String startSODT) {
this.startSODT = startSODT;
}
public String getAirlineId() {
return airlineId;
public String getEndSODT() {
return endSODT;
}
public void setAirlineId(String airlineId) {
this.airlineId = airlineId;
}
public String getAirlineName() {
return airlineName;
}
public void setAirlineName(String airlineName) {
this.airlineName = airlineName;
}
public String getRouteType() {
return routeType;
}
public void setRouteType(String routeType) {
this.routeType = routeType;
}
public String getFlightTask() {
return flightTask;
}
public void setFlightTask(String flightTask) {
this.flightTask = flightTask;
}
public String getArriOrDept() {
return arriOrDept;
}
public void setArriOrDept(String arriOrDept) {
this.arriOrDept = arriOrDept;
}
public String getFlightAgentId() {
return flightAgentId;
}
public void setFlightAgentId(String flightAgentId) {
this.flightAgentId = flightAgentId;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getIsAbnormal() {
return isAbnormal;
}
public void setIsAbnormal(String isAbnormal) {
this.isAbnormal = isAbnormal;
}
public String getIfShowtRelation() {
return ifShowtRelation;
}
public void setIfShowtRelation(String ifShowtRelation) {
this.ifShowtRelation = ifShowtRelation;
}
public String getIfShowtDetail() {
return ifShowtDetail;
}
public void setIfShowtDetail(String ifShowtDetail) {
this.ifShowtDetail = ifShowtDetail;
}
public String getIfShowtEnsure() {
return ifShowtEnsure;
}
public void setIfShowtEnsure(String ifShowtEnsure) {
this.ifShowtEnsure = ifShowtEnsure;
}
public String getIfShowtVIP() {
return ifShowtVIP;
}
public void setIfShowtVIP(String ifShowtVIP) {
this.ifShowtVIP = ifShowtVIP;
}
public String getIfShowtSpecialService() {
return ifShowtSpecialService;
}
public void setIfShowtSpecialService(String ifShowtSpecialService) {
this.ifShowtSpecialService = ifShowtSpecialService;
public void setEndSODT(String endSODT) {
this.endSODT = endSODT;
}
}
@@ -280,12 +280,13 @@ public class ElasticsearchUtil {
* @param size 文档大小限制
* @param fields 需要显示的字段,逗号分隔(缺省为全部字段)
* @param sortField 排序字段
* @param sortOrder
* @param highlightField 高亮字段
* @return
*/
public static List<Map<String, Object>> searchListData(
String index, String type, QueryBuilder query, Integer size,
String fields, String sortField, String highlightField) {
String fields, String sortField, SortOrder sortOrder, String highlightField) {
SearchRequestBuilder searchRequestBuilder = client.prepareSearch(index);
if (!StringUtils.isEmpty(type)) {
@@ -307,7 +308,10 @@ public class ElasticsearchUtil {
searchRequestBuilder.setFetchSource(true);
if (!StringUtils.isEmpty(sortField)) {
searchRequestBuilder.addSort(sortField, SortOrder.DESC);
if(null==sortOrder){
sortOrder = SortOrder.DESC;
}
searchRequestBuilder.addSort(sortField, sortOrder);
}
if (size != null && size > 0) {
@@ -2,7 +2,9 @@ package com.gzzn.omms.adminapi.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import org.springframework.util.StringUtils;
@@ -34,6 +36,30 @@ public class DateUtils {
return ts;
}
/**
* 将时间转换为date
* @param s
* @param format 格式默认 yyyy-MM-dd HH:mm:ss
* @return
* @throws ParseException
*/
public static Date StringToDate(String s,String format){
format = StringUtils.isEmpty(format)?"yyyy-MM-dd HH:mm:ss":format;
if(s == null)
{
return null;
}
Date date = null;
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
date = simpleDateFormat.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 将时间戳转换为时间字符串
@@ -61,10 +87,21 @@ public class DateUtils {
* @return
*/
public static Long getTodayStartTime(){
String time = DateUtils.dateToString(new Date(), "yyyy-MM-dd HH:mm:ss");
String time = DateUtils.dateToString(new Date(), "yyyy-MM-dd")+" 00:00:00";
return DateUtils.dateToStamp(time,"yyyy-MM-dd HH:mm:ss");
}
/**
* 将时间转换为 ddMMMyyHHmm Locale.ENGLISH 格式
* @param time - yyyy-MM-dd HH:mm
* @return
*/
public static String swichTimeToEn_ddMMMyyHHmm(String time){
Date date = DateUtils.StringToDate(time, "yyyy-MM-dd HH:mm");
String swicthTime = DateUtils.dateToString(date, "ddMMMyyHHmm",Locale.ENGLISH);
return swicthTime;
}
/**
* 将时间为时间字符串
* @param date
@@ -78,5 +115,71 @@ public class DateUtils {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(date);
}
/**
* 将时间为时间字符串
* @param date
* @param format
* @param 时区
* @return
*/
public static String dateToString(Date date,String format,Locale locale){
if(null==date){
return "";
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format,locale);
return simpleDateFormat.format(date);
}
/**
* 取得当前日期的后num的日期
* @param date
* @param type Year/Month/Day
* @param num
* @return
*/
public static Date getNewDate(Date date, String type, int num) {
Calendar cal = (Calendar) Calendar.getInstance();
cal.setTime(date);
if (type.equalsIgnoreCase("Year")) {
cal.add(Calendar.YEAR, num);
} else if (type.equalsIgnoreCase("Month")) {
cal.add(Calendar.MONTH, num);
} else {
cal.add(Calendar.DATE, num);
}
return cal.getTime();
}
/**
* 取得当前日期的后num的日期 所在天的最大或最小时间
* @param date
* @param type Year/Month/Day
* @param num
* @param limit MAX/MIN
* @return format ddMMMyyHHmm
*/
public static String getNewDateOfDayMixOrMaxTime(Date date, String type, int num,String limit) {
Calendar cal = (Calendar) Calendar.getInstance();
cal.setTime(date);
if (type.equalsIgnoreCase("Year")) {
cal.add(Calendar.YEAR, num);
} else if (type.equalsIgnoreCase("Month")) {
cal.add(Calendar.MONTH, num);
} else {
cal.add(Calendar.DATE, num);
}
Date timeOfDay = cal.getTime();
String day = DateUtils.dateToString(timeOfDay, "ddMMMyy",Locale.ENGLISH);
switch (limit) {
case "MAX":
day += "2359";
break;
default:
day += "0000";
break;
}
return day;
}
}
@@ -0,0 +1,148 @@
{
"HTS_TIME" : "date 历史数据创建时间"
"FLID" : "long 航班id",
"ALCD" : "string 航空公司代码 ",
"ALSC" : "string 飞机所属航空公司子公司代码",
"FLNO" : "string 航班号",
"MVIN" : "string 运行标识:A=到达,D=离岗",
"SODT" : "date 航班计划时间:MVIN.A 到达 MVIN.D离岗",
"FLTY" : "string 航班类型 如客机、货机、军用、VIP等",
"FLIN" : "string 航班标识 D=国内 I=国际 M=混合 R=地区",
"ROUT" : [ { #线
"APCD" : "string IATA机场代码",
"SCAT" : "date 本站计划到达时间",
"SCDT" : "date 本站计划离港时间",
"RTNO" : "long 到站顺序 1=第一个到站 2=第二个到站 以此类推"
} ],
"ACFT" : "string IATA机型:航班使用的机型",
"RENO" : "String 航班注册号/尾号",
"TAOP" : "string 离开当前机场时起降匹配链接航班的承运人 IATA承运人代码。仅到达是有效",
"TAFL" : "string 离开当前机场时起降匹配链接航班的航班号",
"TAID" : "long 后接飞航班唯一的AODB ID",
"TRML" : "String 航班航站楼",
"MAXP" : "long 该航班最大载客数",
"CSOP" : "string 共享航班的主航班承运人代码",
"CSFT" : "string 共享航班的主航班号",
"MAID" : "long 共享航班的主航班的唯一AODB ID",
"ESTT" : "date 航班预计时间",
"ACTT" : "date 航班实际时间",
"CHDT" : [ { #
"CHUT" : "string 离港航班的行李传送带位置",
"CCLS" : "string 行李传送带等级 F=头等 C=商务 Y=经济 X=全部",
"PCBT" : "date 航班行李转盘计划开始使用时间",
"PCET" : "date 航班行李转盘计划结束使用时间",
"CBTM" : "date 航班实际开始使用行李传送带的时间",
"CETM" : "date 航班实际使用行李传送带的结束时间",
"CTYP" : "string 行李传送带资源的国内国际标识",
"CHNO" : "long 行李传送带顺序号"
} ],
"GTDT" : [ { #
"GATE" : "string 航班等级的登机门号",
"PGOT" : "date 登机门计划打开时间",
"PGCT" : "date 登机门计划关闭时间",
"GOTM" : "date 登机门打开时间",
"GCTM" : "date 登机门关闭时间",
"GTYP" : "string 登机门资源国内国际标识 D=国内 I=国际",
"GTNO" : "long 登机门号"
} ],
"STND" : "string 该航班当前停机位位置",
"PSDT" : [ { #
"PSST" : "string 当前计划机位记录的实际停机位",
"STST" : "date 航班机位分配的开始时间",
"STET" : "date 航班机位分配的结束时间",
"PSNO" : "long 计划的机位号"
} ],
"CKDT" : [ { #
"CHKC" : "string 离港航班的值机柜台号",
"CCLS" : "string 值机柜台等级 F=头等 C=商务 Y=经济 X=无特定等级",
"PCOT" : "date 航班值机计划开始时间",
"PCCT" : "date 航班值机计划关闭时间",
"COTM" : "date 航班值机开始时间",
"CCTM" : "date 航班值机关闭时间",
"CTYP" : "string 值机柜台资源的国内国际标识 D=国内 I=国际",
"CKNO" : "long 值机柜台号"
} ],
"PHAG" : "long 航班旅客处理柜员",
"CNCL" : "date 取消日期时间。仅在航班取消时出现",
"DELY" : [ { #
"VALUE" : "string ",
"CODE" : "string 延误码",
"STRT" : "date 延误开始时间",
"DURA" : "long 时间长度"
} ],
"REMC" : "string 航班自由文本注释",
"CLDT" : [ { #
"BELT" : "string 到达航班的行李传送带号",
"BCLS" : "string 行李传送转盘等级 F=头等 C=商务 Y=经济 X=全部",
"PCOT" : "date 航班行李传送盘计划开始时间",
"PCCT" : "date 航班行李传送盘计划结束时间",
"FBAG" : "date 到达航班第一件行李放置传送带日期",
"LBAG" : "date 到达航班最后一件行李离开传送带日期",
"BTYP" : "string 传送带资源的国内国际标识 D=国内 I=国际",
"CLNO" : "long 传送盘的记录号"
} ],
"BOTM" : "date 离港航班登机开始时间",
"LACL" : "date 离港航班最后通知时间",
"FINT" : "date 最终时间",
"CHOT" : [ {#
"CHTM" : "date 轮档时间",
"CHID" : "string 轮档标识 OFF=上 ON=下",
"CHST" : "string 实际的机位号",
"CSNO" : "long轮档时间报告时对应的机位号"
} ],
"APPT" : "date 批准的离港时间",
"EGSR" : "date 离港时引擎发动请求",
"EGST" : "date 离港时引擎发动时间",
"FHAG" : "long 机坪处理代理的机构代码",
"MHAG" : "long 航班处理代理的机构代码",
"VIPP" : "long 当前航班的VIP旅客数",
"VIPR" : "long VIP航班等级标志",
"FDIV" : "string 航班转场的原因描述",
"FRET" : "string 航班转场原因格式文本",
"ABTM" : [ {#/
"ABDG" : "string 靠桥/离桥 所涉及的登机桥资源",
"ABOP" : "string 靠桥/离桥 A=链接 B=断开",
"AOTM" : "date 时间登机桥操作时间",
"ASNO" : "long 登机桥靠桥/离桥的序列"
} ],
"FLAB" : {#string
"VALUE" : "string ",
"ARES" : "string "
},
"SRVT" : [ {#
"SRTC" : "string 服务交易码",
"SRQT" : "long 服务数量",
"SRST" : "date 服务开始时间",
"SRET" : "date 服务结束时间",
"SRPR" : "long 服务提供者",
"OPER" : "string "
} ],
"VIPF" : [ {#VIP
"VPCD" : "string VIP个人代码",
"VFES" : "long VIP随从人员数量",
"VIPT" : { #VIP
"VSCD" : "string VIP服务码",
"VTQY" : "long VIP数量",
"VTST" : "date VIP服务开始时间",
"VTET" : "date VIP服务结束时间",
"OPER" : "string ",
},
"OPER" : "string "
} ],
"LBNO" : "long 离港航班本地值机行李数",
"LBWT" : "long 离港航班本地值机行李总重量",
"PAXC" : "long 航班旅客总数",
"ERUT" : [ {#
"APCD" : "string 这个航段相关的机场",
"SCAT" : "date 这一计划到达时间",
"SCDT" : "date 这一计划离港时间",
"RTNO" : "long 航段号"
} ],
"EXSC" : "string 航班外部状态码",
"EXSR" : "string 航班外部状态备注",
"FTSS" : "string 航班状态",
"PEDT" : "date ",
"NEAT" : "date ",
"PADT" : "date 站前起飞时间",
"NAAT" : "date 站前降落时间"
}
@@ -0,0 +1,994 @@
PUT _template/flight_hts
{
"index_patterns":"flight_hts",
"settings": {
"index.number_of_shards": 5,
"index.number_of_replicas": 1,
"index.refresh_interval": "10s"
},
"mappings": {
"_doc": {
"properties": {
"FLID" : {
"type": "long"
},
"ALCD" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ALSC" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FLNO" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"MVIN" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SODT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FLTY" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FLIN" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ROUT" : {
"properties": {
"APCD" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SCAT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SCDT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"RTNO" : {
"type": "long"
}
} },
"ACFT" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"RENO" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"TAOP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"TAFL" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"TAID" : {
"type": "long"
},
"TRML" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"MAXP" : {
"type": "long"
},
"CSOP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CSFT" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"MAID" : {
"type": "long"
},
"ESTT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ACTT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CHDT" : {
"properties": {
"CHUT" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CCLS" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PCBT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PCET" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CBTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CETM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CTYP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CHNO" : {
"type": "long"
}
} },
"GTDT" : {
"properties": {
"GATE" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PGOT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PGCT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"GOTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"GCTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"GTYP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"GTNO" : {
"type": "long"
}
} },
"STND" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PSDT" : { "properties": {
"PSST" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"STST" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"STET" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PSNO" : {
"type": "long"
}
} },
"CKDT" : { "properties": {
"CHKC" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CCLS" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PCOT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PCCT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"COTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CCTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CTYP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CKNO" : {
"type": "long"
}
} },
"PHAG" : {
"type": "long"
},
"CNCL" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"DELY" : { "properties": {
"VALUE" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CODE" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"STRT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"DURA" : {
"type": "date",
"format": "HHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
} },
"REMC" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CLDT" : { "properties": {
"BELT" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"BCLS" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PCOT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PCCT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FBAG" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"LBAG" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"BTYP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CLNO" : {
"type": "long"
}
} },
"BOTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"LACL" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FINT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CHOT" : { "properties": {
"CHTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CHID" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CHST" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"CSNO" : {
"type": "long"
}
} },
"APPT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"EGSR" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"EGST" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FHAG" : {
"type": "long"
},
"MHAG" : {
"type": "long"
},
"VIPP" : {
"type": "long"
},
"VIPR" : {
"type": "long"
},
"FDIV" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FRET" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ABTM" : { "properties": {
"ABDG" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ABOP" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"AOTM" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ASNO" : {
"type": "long"
}
} },
"FLAB" : { "properties":{
"VALUE" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"ARES" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}},
"SRVT" : { "properties": {
"SRTC" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SRQT" : {
"type": "long"
},
"SRST" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SRET" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SRPR" : {
"type": "long"
},
"OPER" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
} },
"VIPF" : { "properties": {
"VPCD" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"VFES" : {
"type": "long"
},
"VIPT" : {
"properties":{
"VSCD" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"VTQY" : {
"type": "long"
},
"VTST" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"VTET" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"OPER" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}},
"OPER" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
} },
"LBNO" : {
"type": "long"
},
"LBWT" : {
"type": "long"
},
"PAXC" : {
"type": "long"
},
"ERUT" : { "properties": {
"APCD" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SCAT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"SCDT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"RTNO" : {
"type": "long"
}
} },
"EXSC" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"EXSR" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"FTSS" : {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PEDT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"NEAT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"PADT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"NAAT" : {
"type": "date",
"format": "ddMMMyyHHmm",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}