我有下一個提交的作爲彈性元件的一部分:ElasticSearch - 搜索任何嵌套字段是在範圍
"PayPlan" : {
"ActivePlans" : {
"plan1" : {
"startsOn" : "1",
"endsOn" : "999999"
}
},
"someOtherData" : [
NumberLong(0), 0]
},
計劃名稱是完全沒有邏輯(可以是「plan2323a」或「plan_hh_jj」和等等)。
如何搜索所有具有ANO計劃的元素,其中startsOn小於X且endsOn大於X? 謝謝大家
我無法用QUERY_STRING或通過使用查詢範圍,並使用接下來的格式要做到這一點「PayPlan.ActivePlans。*。startsOn」(星號不作爲通配符的範圍內工作
謝謝大家
這是elasticsearch查詢我現在已經工作,但我想改變「計劃1」到「*」,因此它會爲所有子計劃搜索:
{
"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