diff --git a/src/adapter/elasticsearch.ts b/src/adapter/elasticsearch.ts
index 8bf3e8745ec32725dd422f83009cd8b816f8465b..1750e15c5557cde64744d353acfdad95b424626e 100644
--- a/src/adapter/elasticsearch.ts
+++ b/src/adapter/elasticsearch.ts
@@ -54,13 +54,20 @@ export class ElasticsearchAdapter extends Adapter {
 
 		let filter = {};
 		let match = [];
+		let nMatch = [];
 		/** Query is used to define the filters */
 		if (view.clauses.length > 0) {
 			for(let i=0;i<view.clauses[0].filters.length; i++) {
-				filter = {"match": { [view.clauses[0].filters[i].target.name]: view.clauses[0].filters[i].value }};
-				match.push(filter);
+				if (view.clauses[0].filters[i].operator == 2) {
+					filter = {"match": { [view.clauses[0].filters[i].target.name]: view.clauses[0].filters[i].value }};
+					nMatch.push(filter);
+				} else {
+					filter = {"match": { [view.clauses[0].filters[i].target.name]: view.clauses[0].filters[i].value }};
+					match.push(filter);
+				}
 			}	
 			Object.assign(query.query.bool, {must: match});
+			Object.assign(query.query.bool, {must_not: nMatch});
 		}
 
     	/** Aggregation is used to define the dimention and the aggregation */