I've learned that search is very domain-specific and it's only "solved" if you can pin down what "relevant" means for your corpus of documents.
In terms of fundamentals, I'd suggest reading about tf-idf, which is the basis of Lucene (which powers Solr and Elasticsearch).