Description
Due to investigations on my part in looking into a possible misbehaviour (or
misunderstanding of the correct behaviour) of the filter cache this commit
adds in the ability to assert that the form of items presented to solr caches
are valid and expected.
The interface for this is known as a CacheGuarantor, by default this interface
resolves a NoOp implementation that does nothing (and should be nicely
eliminated by the JIT as dead code).
For the filterCache a basic (and potentially incorrect) guarantor is setup
that demands all keys presented to the filter cache are FilterQueries.
This currently makes function queries fail unit tests, which may (or may
not !) be a bug (and I am guessing probably not here since I am clearly missing some deeper truth)
I tend to work off github so the patch is also on the tip of this branch https://github.com/GregBowyer/lucene-solr/commits/cache-guarantors