Hi all,

I am working a lot with Drupal and Apache Solr. There, we implemented a
performance improvement that would, for filter-only queries (i.e., no
"q" parameter, just "fq"s) instead move the filters to the "q.alt"
parameter (idea based on this blog post [1]).

[1]
https://web.archive.org/web/20120817044656/http://www.derivante.com/2009/04/27/100x-increase-in-solr-performance-and-throughput

Before, we had "q.alt=*:*" to return all results and then filter via
"fq". So, e.g., this query:
  q.alt=*:*&fq=field1:foo&fq=field2:bar
becomes this:
  q.alt=(field1:foo) AND (field2:bar)

However, now I've read some complaints that the former is actually
faster, and some other people also pointed out (in separate discussions)
that "fq" is much faster than "q".

So, can anyone shed some lights on this, what the internal mechanics are
that make the one or the other faster? Are there other suggestions for
how to make a "filters-only" search as fast as possible?

Also, can it be that it recently changed that the "q.alt" parameter now
influences relevance (in Solr 5.x)? I could have sworn that wasn't the
case previously.

Thanks in advance,
Thomas

Reply via email to