Filter in ElasticSearch in Discover page

Hi

I search to add a filter in ElasticSearch.

When I search ????, the filter doesn't

{
"filtered": {
"query": {
"match": { "MACOLONNE": "????" }
}
}

When I add a filter to find the string ???? it does not fuction. The character "?" seems to be a special character. I tried to escape characters with a \ , but I have an error.
Do you know I can do that ?

I have a second question, I need to search not null query.

Exemple: (I had NOT, but it is not authorized:

{
"filtered": {
"query": {
"match NOT ": { "MACOLONNE": "" }
}
}

Thank you!

It's a matter of analyzer I think.

With the default analyzer, ? is ignored (at index and query time).

So I'd change the analyzer.

About Not, you should use a bool query with must_not clause. See https://www.elastic.co/guide/en/elasticsearch/reference/2.1/query-dsl-bool-query.html