Wyszukiwanie elastyczne przy użyciu NEST Field Boosting

Używam wyszukiwania elastycznego w C # za pomocą silnie wpisanego klienta NEST. Mam indeks zawierający wpisy:

[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; }
}

Gdzie Rok jest rokiem wpisu, np. 2012, a Nagroda jest rodzajem Nagrody, którą wygrało Zgłoszenie, która może być zerowa.

Następnie chcę przeszukać te wpisy za pomocą wzmocnienia dla różnych właściwości. W poniższym kodzie chcę, aby wyniki były wyżej w rankingu niż w tytule, niż te, które pasują do opisu.

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))));
}

Zostałem poproszony o zwiększenie wyników przez osoby, które wygrały nagrody, a także o zwiększenie liczby nowych wpisów (tj. O rok).

Jak mam to zrobic? Czy jest to coś, co należy zrobić w ramach usługi indeksowania lub w ramach wyszukiwania?

questionAnswers(1)

yourAnswerToTheQuestion