Zgjidhni nested kur disa kushte duhet të zbatohen te i njëjti element i një array. Përndryshe, vlera nga elemente të ndryshme mund ta plotësojnë query-n së bashku gabimisht.
Një produkt me dy variante
Nuk ka variant të kuq me masën L. Por mapping-u object i zakonshëm i sheshton këto fusha në disa ngjyra dhe masa, duke humbur lidhjen mes tyre. Prandaj query për të kuqe dhe L mund ta përputhë gabimisht produktin.
Maponi variants si nested dhe color/size si keyword. Pastaj përdorni:
{
"query": {
"nested": {
"path": "variants",
"query": {
"bool": {
"filter": [
{"term":{"variants.color":"red"}},
{"term":{"variants.size":"L"}}
]
}
}
}
}
}
Të dy filtrat tani punojnë brenda një elementi nested, ndaj produkti i shembullit nuk përputhet. Ndryshoni L në S dhe mund të përputhet varianti i kuq.
Elementet nested krijojnë dokumente të brendshme shtesë dhe query më të kushtueshme. Object i zakonshëm është më i thjeshtë kur nuk duhen ruajtur marrëdhëniet brenda array-ve. Testoni kombinime të vlefshme dhe kombinime mes elementesh para se të vendosni se mapping-u punon.
Një bibliotekë pyetjesh intervistash IT me përgjigje të detajuara — nga Junior te Senior.
Dhuro