次のマッピングを考えると、次の基準に一致する結果を取得する必要があります
- 名、姓、date_of_birth および Active = true の完全一致または
- 名、姓、Active = true および可能な倍数のうちの 1 つの電子メールの完全一致 OR
- 名、姓、Active = true、可能な倍数のうちの1 つの traveldocument番号の完全一致
電子メールと旅行書類がアイテムのコレクションを参照できる場所。
{
"profile":{
"properties":{
"date_of_birth":{
"type":"date",
"store":"no"
},
"first_name":{
"type":"string",
"store":"no"
},
"last_name":{
"type":"string",
"store":"no"
},
"email":{
"type":"string",
"store":"no"
},
"active":{
"type":"string",
"store":"no"
},
"travel_document":{
"properties" : {
"countryOfCitizenship" : {"type" : "string"},
"countryOfIssue" : {"type" : "string"},
"expirationDate" : {"type" : "date"},
"nationality" : {"type" : "string"},
"number" : {"type" : "string"},
"addressLines" : {"type": "string"},
"issuedForAreaCode" : {"type": "string"},
"type" : {"type": "string"}
}
}
}
}
}
この種の検索をelasticsearchで実行する方法はありますか? ネストされたクエリでこれを行うことはできますか?