Can you make this more readable by doing a regex replace on the value instead of a substring with a magic number?  Something like:

```
searchQuery.query.filtered.filter.bool[ filterOccurence ].push( generators[ key ]( value.replace( /^{!}/, '' ), true );
```

I'm not sure if that is the right syntax for NOT but you get the idea--don't use a magic number, strip the content instead.