2013-10-01 2 views
1

При использовании нового API поиска (ContentSearchManager.GetIndex...), как мы можем отсортировать результат по числовому полю. При использовании значения по умолчанию .OrderBy(), поле сортируется по строковым представлениям этих чисел.Как отсортировать по номерному полю?

Это означает, что порядок, как:

1, 10, 11, 2, 3, 4, 5... 

Как мы можем поручить Sitecore сортировать это поле как число?

Я нашел a answer on how to do this in 6.5, но мы используем 7.

+0

также заинтересованы в ответе. Должен быть какой-то способ, поскольку они должны сделать это в редакторе содержимого с полем сортировки. – ddysart

+0

@ddysart: вы можете сделать это так, как описывает альпинист sitecore, но затем используя [IndexField («__ sortorder»)]. Не совсем уверен в синтаксисе здесь, я должен был бы проверить, но вы понимаете. – Bertvan

+0

yep, имеет смысл. – ddysart

ответ

1

вам нужно иметь mappingItem быть что-то вроде:

public class MappingItem 
{ 
[IndexField("orderingnumberIndex")] 
int OrderingNumber {get; set;} 
} 
+0

Получил это. На самом деле мы также забыли добавить поле в индекс ... – Bertvan

+0

Вы можете использовать такой инструмент, как Luke, чтобы проверить, что находится в вашем индексе, и как он хранится. –

Смежные вопросы