Я работаю над миграцией Elasticsearch с 1.7.1 до 5.0. Я исправил большинство проблем в коде после обновления до 5.0, но я не мог понять, как изменить FilterContainer для работы в новой версии.FilterContainer in Elasticsearch NEST 5.0
Ниже мой код
public static List<FilterContainer> GetPriceRangeFilters(SearchListCriteria criteria, out List<FilterContainer> additionalpricefilters)
{
var pricefilters = new List<FilterContainer>();
additionalpricefilters = new List<FilterContainer>();
if (criteria.SearchGlobalSettings.MinimumPriceRange != null && criteria.SearchGlobalSettings.MinimumPriceRange.Length > 0)
{
const string fieldName = "itemPrices.webPrice";
pricefilters.Add((new FilterDescriptor<ItemSearchEntry>()).Query(a => a.Range(n => n.OnField(fieldName).GreaterOrEquals(criteria.SearchGlobalSettings.MinimumPriceRange[0].ToString()).
LowerOrEquals(criteria.SearchGlobalSettings.MaximumPriceRange[0].ToString()))));
for (var i = 1; i < criteria.SearchGlobalSettings.MinimumPriceRange.Length; i++)
{
additionalpricefilters.Add((new FilterDescriptor<ItemSearchEntry>()).Query(a => a.Range(n => n.OnField(fieldName).
GreaterOrEquals(criteria.SearchGlobalSettings.MinimumPriceRange[i].ToString()).LowerOrEquals(criteria.SearchGlobalSettings.MaximumPriceRange[i].ToString()))));
}
}
return pricefilters;
}