How would I go about determining popularity and relevance among articles and use it to improve my search algorithm
It seems to me like 'relevance' is a qualitative abstraction. Thus you need to define your own heuristic for your service which defines what relevance is. 

I think it would be best to look for solutions in third party applications such as elasticsearch instead of implementing your own.