2016-02-29 57 views
0

我有以下代碼在foreach循環中構造一個SORT查詢,但是我的問題是這會用最新的一個替換舊的排序描述符。NEST c#查詢在Foreach中創建SORT - ElasticSearch

SearchDescriptor<MyDTO> nQuery = new SearchDescriptor<MyDTO>(); 
foreach (var sort in criteria.SortQuery.OrderBy(o => o.SortPreference)) 
       { 
        nQuery= nQuery.Sort(s => s.Field(sort.SortName, sort.SortOrder)); 
       } 

如何通過

var sortDescriptor = new SortDescriptor<Document>(); 

foreach (var sort in sortCollection) 
{ 
    SortOrder sortOrder; 
    var tryParse = Enum.TryParse(sort.Order, out sortOrder); 
    if(!tryParse) up to you how you are going to handle incorrect sort order 
    sortDescriptor.Field(sort.FieldName, sortOrder); 
} 

client.Search<Document>(s => s.Size(0).Sort(sort => sortDescriptor)); 

希望它可以幫助實現這裏面一個ForEach

回答

3

你可以做到這一點。

+0

謝謝確實我跟着這個:) – TBA