اختر nested عندما يجب أن تنطبق عدة شروط على العنصر نفسه في مصفوفة. وإلا فقد تحقق قيم من عناصر مختلفة الاستعلام معًا بالخطأ.
منتج بمتغيرين
اختر nested عندما يجب أن تنطبق عدة شروط على العنصر نفسه في مصفوفة. وإلا فقد تحقق قيم من عناصر مختلفة الاستعلام معًا بالخطأ.
لا توجد نسخة حمراء بمقاس L. لكن mapping العادي من نوع object يسطّح هذه الحقول إلى ألوان ومقاسات متعددة، ويفقد ارتباط المقاس باللون. لذلك قد يطابق استعلام الأحمر وL المنتج بصورة خاطئة.
عرّف variants كـ nested وcolor/size كـ keyword. ثم استخدم:
{
"query": {
"nested": {
"path": "variants",
"query": {
"bool": {
"filter": [
{"term":{"variants.color":"red"}},
{"term":{"variants.size":"L"}}
]
}
}
}
}
}
يعمل المرشحان الآن داخل عنصر nested واحد، لذلك لا يطابق المنتج المثال. غيّر L إلى S وقد يطابق المتغير الأحمر.
تُنشئ عناصر nested مستندات داخلية إضافية واستعلامات أعلى تكلفة. يكون object العادي أبسط عندما لا يلزم الحفاظ على العلاقات داخل المصفوفات. اختبر التركيبات الصحيحة والتركيبات العابرة للعناصر قبل تقرير أن mapping يعمل.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع