У меня есть индекс эластичного поиска, который называется «Доступные слоты».Один из его документов выглядит так:
{
"id" : 5955,
"start_date" : "2019-02-07T10:10:06.000Z",
"end_date" : "2019-02-07T10:40:06.000Z",
"booking_resource" : {persons
"id" : 18,
"doctor_id" : 5005,
"location" : {
"id" : 304,
"name" : {
"ka" : "ი. ციციშვილის სახელობის ბავშვთა კლინიკა"
},
"brand_name" : {
"ka" : "TCH"
},
"address" : {
"ka" : "ლუბლიანას ქუჩა #23, (ნაკვ.08/012)"
},
"district" : {
"id" : 71,
"name" : "ისანი",
"city_id" : 23
},
"user_profile_city" : {
"id" : 40,
"name" : {
"ka" : "ყვარელი"
}
},
"user_profile_country" : {
"id" : 13,
"name" : {
"ka" : "საქართველო"
}
}
},
"doctor_speciality" : {
"id" : 6,
"name" : {
"en" : "Ophtal",
"ka" : "ოფთალმოლოგი"
}
},
"service_provision_type" : {
"id" : 1,
"name" : {
"ka" : "ვიზიტი"
},
"id_name" : "visit",
"priority" : 1
},
"doctor_service" : {
"id" : 3,
"name" : {
"ka" : "კონსულტაცია",
"en" : "Consultation"
},
"service_code" : "tempo"
},
"booking_resource_detail" : {
"id" : 6,
"from_age" : null,
"to_age" : null,
"schedule_description" : null
}
}
},
В конце есть объект booking_resource_detail, который имеет нулевые значения в from_age и to_age.Я пытаюсь найти документы, в которых «Patient_age» (заданный параметром пользователя) находится между «from_age» и «to_age», но если эти значения («from_age» и «to_age») равны нулю, я хочу, чтобы «asticsearch »их игнорировал иесли они установлены, он должен возвратить этот документ, если между ними лежит Patient_age.Иногда «booking_resource_detail» является даже пустым объектом.Как я могу решить эту проблему?