Separate from the
q
parameter (the user query), you can specify additional so-called filter
queries that will filter the search results. Arguably, the user query is also a filter, but you instead see the word "search" used for that. Filter queries don't affect scoring, unlike the user query. To add a filter, simply use the fq
parameter. This parameter can be added multiple times for additional filters. A document must match all filter queries and the user query for it to be in the results.
As an example, let's say, we wanted to make a search form for MusicBrainz that lets the user search for bands, not individual artists, and those that released an album in the last 10 years. Let's also say that the user's query string is Green
. In the index, a_type
is either person
for an individual or group
for a band, or 0
if unknown. Therefore, a query that would find non-individuals would be this, combined with the user's query:
+Green -a_type:person +a_release_date_latest:[NOW/YEAR-10YEARS...