Bool query
Bool query হচ্ছে কম্পাউন্ড query এর এক্সাম্পল। Bool query এর আমরা টপ লেভেল কোন ফিল্ড এর ভালু বসাবনা, বরং query এর ভিতরে query লিখে সেখানে বসাব। নিচে bool query এর structure দেয়া হলো
POST _search { "query": { "bool": { "must": [...], "filter": [...], "must_not": [...], "should": [...] } } }
must -> document এ থাকতেই হবে
must_not -> document থাকতে হবে না
filter -> কিছু document ফিলটার আউট করার জন্য
should -> document এ থাকলে ভালো
যদি আমরা এমন employee চাই যারা জার্মানির এবং সালারি 60,000 এর উপর
POST employee/_search { "query": { "bool": { "must": [ { "match": { "country": "Germany" } }, { "range": { "salary": { "gte": 600000 } } } ] } } }
এবং শুধু জার্মান যাদের সালারি 60000 এর উপর কিন্তু পুরুষ না
POST employee/_search { "query": { "bool": { "must": [ { "match": { "country": "German" } }, { "range": { "salary": { "gte": 600000 } } } ], "must_not": [ { "match": { "gender": "Male" } } ] } } }