لتحقيق ذلك، يمكنك استخدام عبارة 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).
-
تعديل استعلام SQL للتعامل مع القيم NULL19/03/2024
-
استعلام MySQL: البحث باستخدام LIKE ومصفوفة29/02/2024
المزيد من المعلومات
تأسف على الإجابة الغير كافية سابقًا. لنقم بتوضيح المزيد حول استخدام 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
.