Да, это возможно.Сначала о немецком языке, лучший способ разобраться с языком в Lucene - это использовать ICU library .Для Lucene у нас есть соответствующая lucene-analyzers-icu зависимость.
Вы можете использовать ICUCollationDocValuesField для сортировки значений.
final Collator instance = Collator.getInstance(ULocale.GERMAN);
final ICUCollationDocValuesField contents = new ICUCollationDocValuesField("contents", instance);
Позже, используя это поле для создания документов, вы сможете позже отсортировать по этому полю и получить ожидаемые результаты (например, U, Ü, Z) * 1012 *
Полный рабочий пример можно найти там
Что касается сортировки чисел - вам просто нужно отсортировать их не как строки (что, похоже, вы делаете), но на самом деле сортировать их как числа SortField.Type.INT
должно помочь вам в этом