私は、自分が指定した期間の到着日を持つすべての期間(ネストされた)+住宅を私に与える次のクエリを持っています。 今、私は特定の家の到着日を取得しようとしますが、私はElasticsearchでこれを行う方法の構文を理解することはできません。特定の親のネストされた結果を見つける
GET /houses/house/_search
{
"_source" : ["HouseId"],
"query": {
"nested": {
"path": "Periods",
"query": {
"bool": {
"must": [
{"range": {
"Periods.ArrivalDate": {
"gte" : "2017-10-01",
"lt" : "2017-11-01"
}
}
}
]
}
},
"inner_hits" : {}
}
} }
マッピングは、だから私は、特定のHouseIdと家のために利用可能なarrivaldatesを見つけたいと思い、この(私は関連する部分を願うに短縮)
{
"houses": {
"mappings": {
"house": {
"properties": {
"Periods": {
"type": "nested",
"properties": {
"ArrivalDate": {
"type": "date",
"format": "yyyy-MM-dd"
},
....
"HouseId": {
"type": "keyword"
},
です特定の月以内
を:{"include": "Period.ArrivalDate"} '? –
いいえ、私は1つの家の期間だけに結果を限定するつもりはありません。あなたのヒントは私の 'inner_hits' 'ハック'を解決するためにいいですが、私は思うが、私の質問ではない。アイデアは、ある家のために、利用可能な期間をリストすることができるということです。私がすでに持っている質問は、利用可能な家を検索するためのものです。 – Maarten
'inner_hits'と' _source'フィルタリングは2つの異なるものです。 「家」とは何ですか? –