내가 가지고있는 다음 제출 탄성 요소의 일부로 :ElasticSearch - 범위에 중첩 된 필드에 대한 검색
"PayPlan" : {
"ActivePlans" : {
"plan1" : {
"startsOn" : "1",
"endsOn" : "999999"
}
},
"someOtherData" : [
NumberLong(0), 0]
},
계획의 이름은 논리없이 완전하다 ('plan2323a'또는 'plan_hh_jj'를 할 수 있으며, 곧).
startsOn이 작고 X가 작고 endsOn이 X보다 큰 계획이있는 모든 요소를 검색하려면 어떻게해야합니까? 는 여러분 모두 감사합니다
내가 QUERY_STRING 또는 쿼리 범위를 사용하고 다음 형식을 사용하여이 작업을 수행 할 수없는 생각 "PayPlan.ActivePlans을. *. startsOn는"(별표가 범위에 와일드 카드로 작동하지 않았다는
이것은 내가 지금 작업 한 elasticsearch 쿼리입니다 여러분 모두 감사하지만 난 그게 하위 계획을 검색 할 수 있도록 '*'로 'plan1'을 변경하려면 :
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"match_all": {}
},
{
"or": {
"filters": [
{
"bool": {
"must": [
{
"range": {
"PayPlan.ActivePlans.plan1.startsOn": {
"lte": "1234"
}
}
},
{
"range": {
"PayPlan.ActivePlans.plan1.endsOn": {
"gte": "1236"
}
}
}
]
}
}
]
}
}
]
}
}
}
}
}
당신이 사용하는 전체 쿼리를 공유 할 수 있을까요? – Adonis
질문을 편집하고 현재 작업중인 쿼리를 추가하여 다시 작성하여 모든 하위 '계획'요소를 검색하도록했습니다. – Avishay