這是查詢的結果:
{
"query": {
"match_all": {}
}
}
{
"data": [
{
"hits": [
{
"_source": {
"AR_UnitePoids": 3,
"CatTarif": [
{
"PVTTCSite": 1
},
{
"PVTTCSite": 2
}
]
}
},
{
"_source": {
"AR_UnitePoids": 5,
"CatTarif": [
{
"PVTTCSite": 3
},
{
"PVTTCSite": 4
}
]
}
}
]
}
]
}
如果我想獲取AR_UnitePoids>= 5 的檔案,我可以這樣做:
{
"query": {
"range": {
"AR_UnitePoids": {
"gte": 5
}
}
}
}
{
"data": [
{
"hits": [
{
"_source": {
"AR_UnitePoids": 5,
"CatTarif": [
{
"PVTTCSite": 3
},
{
"PVTTCSite": 4
}
]
}
}
]
}
]
}
但現在我希望所有檔案在第二PVTTCSite的CatTarif是高于4:
{
"query": {
"range": {
"CatTarif.1.PVTTCSite": {
"gte": 4
}
}
}
}
但是這個查詢不起作用,我得到 0 hits。
我怎樣才能做到這一點 ?
編輯:
感謝@TusharShahi 評論和這個檔案,我設法創建了這個查詢:
{
"query": {
"nested": {
"path": "CatTarif",
"query": {
"bool": {
"must": [
{ "range": { "CatTarif.PVTTCSite": { "gte": 4 } } }
]
}
}
}
}
}
這有效,但我仍然無法查詢 CatTarif 的特定索引。
uj5u.com熱心網友回復:
{
"query": {
"nested": {
"path": "CatTarif",
"query": {
"bool": {
"must": {
"range": {
"CatTarif.PVTTCSite": {
"gte": 4
}
}
},
"filter": {
"term": {
"CatTarif.CatTarif": 1
}
}
}
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320934.html
上一篇:elastic4s:查詢多值欄位
下一篇:彈性搜索:獲取價值>AVG的檔案
