I wondered recently - where do large queries fit in to this ? URL encoding has size limits and is inefficient - but you can't use get body
The GET would be cacheable because they query would be repeatable and idempotent. In theory you'd never have to make the POST more than once unless you are creating a new query, which would make a new ID.
See section 13.
There have been proposed standardized fixes such as generalizing the HTTP SEARCH method that first appeared in WebDAV[0], but none have yet gone far.
[0] https://tools.ietf.org/html/draft-snell-search-method-01