Implement full-text searching

Index document content as well as the document metadata, allowing for documents and files to be found by their content. Matches on content should be weighted lower than matches on metadata.

This should be accompanied by performance tests as well.
There isn't much we can do when this errors out, but we should at least log an error