Сортировать строковое поле по номеру - PullRequest
2 голосов
/ 10 апреля 2019

В моем приложении у меня есть поле строки solr, которое может содержать значения, такие как A1, A2, A10, A100.

Если я применяю функцию сортировки в этом поле, я получаю результат как A1, A10,А100, А2.Но мое намерение состоит в том, чтобы получить сортировку в виде натуральных чисел, таких как A1, A2, A10, A100, исключая часть символа для моего индексированного значения.Есть ли способ сделать это?

1 Ответ

2 голосов
/ 11 апреля 2019

Или вы вводите новый тип поля и вводите для него новый компаратор, как описано в этом подходе: http://sujitpal.blogspot.com/2011/05/custom-sorting-in-solr-using-external.html (их сценарий использования немного сложнее, но основная логика с определением типа поляиспользование настраиваемого FieldComparatorSource, обеспечивающего компаратор, должно работать в вашем случае).В компараторе вы можете затем отсортировать по длине, а затем по значению или добавить некоторую логику, чтобы различать части строк перед сортировкой по ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...