2014-10-31 141 views
0

如何在使用NEST查詢的彈性搜索中使用多個過濾器對數據進行排序。使用NEST彈性搜索

  1. 我需要應用兩個領域可以說價格公里在結果集汽車。我想根據這些字段排序的結果爲ASCDESC

  2. 如何根據條件或某些過濾器獲得前五名的結果。

請提供一些鏈接(如果有的話)。

回答

1

這應該回答你的問題:

IEnumerable<string> searchableFields = new List<string>() { "price", "kilometer" }; 

SearchDescriptor<T> descriptor = new SearchDescriptor<T>(); 
descriptor = descriptor.Size(5).OnFields(searchableFields) 
       .Sort(s => s.OnField("price").Descending().OnField("kilometer").Ascending()); 

var result = client.Search<T>(body => descriptor); 
+0

那好。但可以說我有一個100個結果的文檔集。我想要使​​用價格和KM排序前五位,剩餘的95我想應用其他排序(其他篩選器),但所有100個結果應該位於同一個對象中。 – JugalS 2014-11-05 08:41:20

+0

。對於SearchDescriptor類型對象,不允許使用OnFields()。 – JugalS 2014-11-05 08:51:36

相關問題