tow/sunburnt — pull request #85 by foobacca (2014-02-27 16:02:43+00:00)
Title: Multiple fq params

Before this, sunburnt would combine all filters into one fq
parameter. This means that the combined filter would be added to Solr's
filter cache. But often what we actually want is for each filter to go
into the filter cache separately, so they can be reused and recombined
efficiently. From the [Solr docs on fq](https://wiki.apache.org/solr/CommonQueryParameters#fq):

> use a single fq containing two mandatory clauses if those clauses appear together often, and use two separate fq params if they are relatively independent.

So in this commit we create a FilterOptions class that maintains a list
of LuceneQuery objects. When the options() method is called it returns
a list, and when this is URL encoded, we end up with multiple fq
parameters.

It's possible that this will cause minor changes in behaviour for
existing users of sunburnt. The results returned should be the same,
but the filter cache usage will be different. For most users I imagine
this is going to lead to better performance, but it's possible it might
have a negative impact on some use cases.