البرمجة

استبعاد الوثائق في ElasticSearch

لتحقيق ذلك، يمكنك استخدام عبارة must_not واحدة تحتوي على bool query تحتوي على شروط must لكل من criteria1 و criteria2. هذا يضمن أن الوثائق التي تطابق كلا المعايير تتم استبعادها. إليك كيف يمكن تعديل الاستعلام الخاص بك بناءً على ذلك:

json
... "query": { "bool": { "must_not": [ { "bool": { "must": [ { "term": { "bool-facet.criteria1": { "value": true } } }, { "term": { "bool-facet.criteria2": { "value": true } } } ] } } ] } } ...

بهذا الشكل، سيتم استبعاد الوثائق التي تطابق كلا المعايير (criteria1 و criteria2).

المزيد من المعلومات

تأسف على الإجابة الغير كافية سابقًا. لنقم بتوضيح المزيد حول استخدام must_not في ElasticSearch query.

في ElasticSearch، يتم استخدام must_not لاستبعاد الوثائق التي تطابق شرط معين. عند استخدام must_not مع مصفوفة من الشروط، يتم استبعاد الوثائق التي تطابق أي من هذه الشروط.

لكن، إذا كنت تريد استبعاد الوثائق التي تطابق جميع الشروط، يجب استخدام must داخل must_not كما تم في الاستعلام الذي ذكرته:

json
... "query": { "bool": { "must_not": [ { "bool": { "must": [ { "term": { "bool-facet.criteria1": { "value": true } } }, { "term": { "bool-facet.criteria2": { "value": true } } } ] } } ] } } ...

بهذا التعديل، ستتم استبعاد الوثائق التي تطابق كل من criteria1 و criteria2.

زر الذهاب إلى الأعلى