Pesquisa elástica usando NEST Field Boosting

Eu estou usando o Elastic Search em C # usando o cliente NEST fortemente tipado. Eu tenho um índice contendo entradas:

[ElasticType(Name = "Entry", IdProperty = "Id")]
public class Entry
{
    public string Id { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public string Award { get; set; }
    public int Year { get; set; }
}

Onde Ano é o ano da inscrição, por exemplo, 2012 e Prêmio é o tipo de Prêmio que a Entrada venceu, que pode ser nulo.

Então eu quero pesquisar essas entradas usando o boosting para diferentes propriedades. No código a seguir, quero que os resultados sejam classificados mais alto que correspondam ao Título do que aqueles que correspondam à Descrição.

private IQueryResponse<Entry> GetMatchedEntries(string searchText)
{
    return _elasticClient.Search<Entry>(
                body =>
                body.Query(q => 
                           q.QueryString(qs => 
                                         qs.OnFieldsWithBoost(d => 
                                                              d.Add(entry => entry.Title, 5.0)
                                                              .Add(entry => entry.Description, 2.0))
                           .Query(searchText))));
}

Agora me pediram para impulsionar os resultados por aqueles que ganharam prêmios, e também impulsionar novas entradas (ou seja, pelo ano).

Como eu faço isso? É algo que precisa ser feito como parte do serviço de indexação ou como parte da pesquisa?

questionAnswers(1)

yourAnswerToTheQuestion