Filters aggregation - query malformed, no field after start_object

I am trying to use the filters aggregation to get the count of certain items in my index. But it fails with the error - query malformed, no field after start_object

{
  "aggs": {
    "actions": {
      "filters": {
        "filters": {
          "profile_creates": {
            "query": {
              "querystring": "request_method:POST AND path:profile"
            }
          },
          "profile_edits": {
            "query": {
              "querystring": "request_method:PUT AND path:profile"
            }
          }
        }
      }
    }
  }
}

I can't see what's wrong with this query. Can anyone help?

I am using Elasticsearch 1.7.1

This is the exception

[2016-04-18 05:27:09,410][DEBUG][action.search.type       ] [Chance] All shards failed for phase: [query]
org.elasticsearch.transport.RemoteTransportException: [Spitfire][inet[/:9300]][indices:data/read/search[phase/query]]
Caused by: org.elasticsearch.search.SearchParseException: [server-logs][7]: from[-1],size[-1]: Parse Failure [Failed to parse source [{
  "aggs": {
    "actions": {
      "filters": {
        "filters": {
          "profilecreate": {
            "query": {
              "querystring": "request_method:POST"
            }
          },
          "profileedit": {
            "query": {
              "querystring": "request_method:PUT"
            }
          }
        }
      }
    }
  }
}]]
      at org.elasticsearch.search.SearchService.parseSource(SearchService.java:747)
      at org.elasticsearch.search.SearchService.createContext(SearchService.java:572)
      at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:544)
      at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:306)
      at org.elasticsearch.search.action.SearchServiceTransportAction$SearchQueryTransportHandler.messageReceived(SearchServiceTransportAction.java:776)
      at org.elasticsearch.search.action.SearchServiceTransportAction$SearchQueryTransportHandler.messageReceived(SearchServiceTransportAction.java:767)
      at org.elasticsearch.transport.netty.MessageChannelHandler$RequestHandler.doRun(MessageChannelHandler.java:279)
      at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:36)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
Caused by: org.elasticsearch.index.query.QueryParsingException: [server-logs] [_na] query malformed, no field after start_object
      at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:298)
      at org.elasticsearch.index.query.QueryFilterParser.parse(QueryFilterParser.java:47)
      at org.elasticsearch.index.query.QueryParseContext.executeFilterParser(QueryParseContext.java:371)
      at org.elasticsearch.index.query.QueryParseContext.parseInnerFilter(QueryParseContext.java:352)
      at org.elasticsearch.index.query.IndexQueryParserService.parseInnerFilter(IndexQueryParserService.java:295)
      at org.elasticsearch.search.aggregations.bucket.filters.FiltersParser.parse(FiltersParser.java:63)
      at org.elasticsearch.search.aggregations.AggregatorParsers.parseAggregators(AggregatorParsers.java:148)
      at org.elasticsearch.search.aggregations.AggregatorParsers.parseAggregators(AggregatorParsers.java:78)
      at org.elasticsearch.search.aggregations.AggregationParseElement.parse(AggregationParseElement.java:60)
      at org.elasticsearch.search.SearchService.parseSource(SearchService.java:731)
      ... 10 more

Ignore this. There is nothing wrong the filters aggregation, I screwed up the filter -_-

Sleepy people should not be allowed to edit huge elasticsearch aggregations :sweat:

Thanks for bringing closure. Even though the aggs were malformed, I think we should do a better job at pointing out where the input was malformed.