The build_query is not efficient. It uses the LIKE operator therefore it does not uses proper full text search.
Full text search builds an index of keywords and can efficiently search them inside text.
Whoosh, Solr, and other libraries to that. Haystack is a wrapper named after the equivalent Django module.