I have been experimenting with different methods for tuning our search engine's field boosts. In Solr or Elastic Search, you specify the importance of matches in each field when configuring the search engine. The ranking function is complex and non-differentiable, so I have been looking to use optimization algorithms and reinforcement-learning approaches to optimize the NDCG score on some ranked documents. Has anyone else approaches this problem? I am having trouble finding literature on it but it's an important problem for anyone working on search engines. We work on a job search engine, so setting the correct weights for a match on job title vs skills vs job description can make a big difference as to the relevancy of the results. Obviously you can also use LTR models, but before doing that i'd like to ensure I have the optimal query configuration before re-ranking results.