Finished search back end

Searching now returns results that have at least half of the words in
the query, regardless of actual word order. Also now works properly for
all our different searchable models—i.e., articles, feeds, sources, and
events.