Я использую Java-клиент Elasticsearch High Level в Groovy с этим сопоставлением типов
def typeMapping = new PutMappingRequest(indexName);
typeMapping.source([properties:[
beginEnd: [
type: "date_range"
],
duration: [type: "integer"],
client: [type: 'ip']
]]
И мне нравится помещать контент в beginEnd
с этим кодом
beginEnd: [
gte: "2019-09-17T20:44:00.911",
lte: "2019-09-17T20:45:30.529"
]
Но в итоге получается так:
beginEnd {
"gte": "2019-09-17T20:44:00.911",
"lte": "2019-09-17T20:45:30.529"
}
с неопределенным типом данных.
Я хотел бы знать, как должна выглядеть моя часть данных, чтобы эторабота.
редактирование: отображение реального индекса:
{
"test": {
"aliases": {
},
"mappings": {
"properties": {
"beginEnd": {
"type": "date_range"
},
"buildInfo": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"client": {
"type": "ip"
},
"duration": {
"type": "integer"
},
"endtime": {
"type": "date"
},
"somerange": {
"type": "integer_range"
},
"starttime": {
"type": "date"
},
"state": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"test": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"testset": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
},
"settings": {
"index": {
"creation_date": "1568879139182",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "pfXtyrRLS_C-NEsS5IXjCQ",
"version": {
"created": "7030299"
},
"provided_name": "test"
}
}
}
}