I'm not sure. The filter cache uses your filter as a key and a negation is a different key. You can check this easily in a controlled environment by issueing these queries and watching the filter cache statistics.
> If I have a query with a filter query such as : " q=art&fq=history" and > then run a second query "q=art&fq=-history", will Solr realize that it > can use the cached results of the previous filter query "history" (in the > filter cache) or will it not realize this and have to actually do a second > filter query against the index for "not history"? > > Tom