A nested típust akkor válasszuk, ha több feltételnek ugyanarra a tömbelemre kell vonatkoznia. Különben különböző elemek értékei véletlenül együtt teljesíthetik a lekérdezést.
Egy termék két változattal
A nested típust akkor válasszuk, ha több feltételnek ugyanarra a tömbelemre kell vonatkoznia. Különben különböző elemek értékei véletlenül együtt teljesíthetik a lekérdezést.
Nincs piros L méretű változat. A szokásos object mapping azonban több színné és több méretté lapítja a mezőket, elveszítve a szín–méret kapcsolatot. Emiatt a red és L keresés tévesen megtalálhatja a terméket.
A variants legyen nested, a color/size pedig keyword. Ezután használjuk ezt:
{
"query": {
"nested": {
"path": "variants",
"query": {
"bool": {
"filter": [
{"term":{"variants.color":"red"}},
{"term":{"variants.size":"L"}}
]
}
}
}
}
}
Mindkét filter egy nested elemen belül fut, így a példatermék nem illeszkedik. L helyett S esetén a piros változat már illeszkedhet.
A nested elemek további belső dokumentumokat és drágább lekérdezéseket hoznak létre. Az egyszerű object könnyebb, ha a tömbökön belüli kapcsolatok megőrzése nem szükséges. Érvényes és elemeket keresztező kombinációkat is teszteljünk, mielőtt helyesnek ítéljük a mappinget.
IT interjúkérdések gyűjteménye részletes válaszokkal — Juniortól Seniorig.
Adományozás