Solr – запрос C#, добавляющий «s» в поле сортировкиC#

Место общения программистов C#
Ответить
Anonymous
 Solr – запрос C#, добавляющий «s» в поле сортировки

Сообщение Anonymous »

Наш порядок сортировки работает неправильно, и я обнаружил, что это связано с тем, что генерируемый запрос solr заканчивается на sort=date_tdts%20desc - тогда как он должен заканчиваться на sort=date_tdt%20desc (обратите внимание на лишняя буква "s"). Но я не уверен, откуда в коде берутся эти дополнительные буквы. Это конфигурация индексного поля:

Код: Выделить всё

[IndexField("date_tdt")]
public DateTime Date { get; set; }
Вот код, который генерирует запрос:

Код: Выделить всё

    var orderExpression = searchAdapter.MapFilterToOrder(query, out bool orderByDescending);

var resultsQueryable = providerSearchContext.GetQueryable()
.Where(basePredicate);

if(query.Filters != null)
{
var queryPredicate = CombinePredicates(query.Filters.Select(searchAdapter.MapFilterToPredicate));
resultsQueryable = resultsQueryable.Where(queryPredicate);
}

if (orderExpression != null)
{
resultsQueryable = orderByDescending
? resultsQueryable.OrderByDescending(orderExpression)
: resultsQueryable.OrderBy(orderExpression);
}

Код: Выделить всё

    public virtual Expression MapFilterToOrder(SearchQuery query,
out bool @descending)
{
@descending = true;

return x => x.Date;
}
почему к date_tdt добавляется буква s?

Подробнее здесь: https://stackoverflow.com/questions/790 ... sort-field
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»