powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка, индексация, LCMapString
2 сообщений из 2, страница 1 из 1
Сортировка, индексация, LCMapString
    #35469243
Dignat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для индексации данных по строкам использую функцию LCMapString.
Она из строки генерирует ключ по которому и строится индекс. Фозможности этой функции достаточно большие. Можно игнорировать регистр символов или использовать определеную локаль системы.

Все хорошо, когда строки короткие. А когда они длинные, более 100 символов - это плохо, медленно.

Получается так. Сначала я получаю ключ из строки, он в 3-4 раз длинее исходной строки. А при индексации в сравнении используются обычно первые 2-4 символа. До остальных символов очередь не доходит, так как к этому моменту элемент уже нашел место в дереве индекса, куда он будет прикреплен.

А по частям бить строку тоже не верно, можно модификатор случайно отрезать от ведущего символа.

Так вот. Надо как-то генерировать ключ по частям, например по 5-10 байт порциями.
У меня идей пока нет, как это правильно сделать.
...
Рейтинг: 0 / 0
Сортировка, индексация, LCMapString
    #35469591
Dignat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буду копать библеотеку ICU
функции ucol_getSortKey() и ucol_nextSortKeyPart()
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка, индексация, LCMapString
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]