The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск каталогизатора домашней библиотеки MyLibrary 2.3"
Отправлено ProfessorNavigator, 21-Дек-23 15:43 
> А авторы как-то хитро обрабатываются, или всех Пушкиных А.С. в одну кучу.
> Я не наезжаю, я знаю что в FB2 только ФИО, и
> нет возможности различить однофамильцев, но может вы что-то хитрое замутили.

Пытался "замутить хитрое", но не вышло. Поэтому при создании коллекции там, где нет чёткого разделения, оно обрабатывается в порядке "ФИО", т.е. программа считает, что первой идёт фамилия, дальше - имя, потом отчество (ну или их английские аналоги, surname, first name, second name). Алгоритм же поиска работает и вовсе просто. При переключении коллекции или запуске программы база данных в параллельном потоке загружается в вектор. При команде на начало поиска, когда база полностью загружена (иначе идёт ожидание полной загрузки), она копируется в новый вектор. После чего из него удаляется всё, что не соответствует критериям поиска, и он идёт на вывод, как резульат. При этом ФИО в базе записаны одной строкой. Т.е. программа берёт введённую на поиск фамилию и проверяет, есть ли она в данной строке, в любом её месте. Если нет, запись удаляется. Затем аналогично с именем и т.д. Иными словами, в принципе вы можете набрать всё в поле "Фамилия" (или любом другом) и получить аналогичный раздельному вводу результат. Но лишь в том случае, если порядок ввода совпадает с порядком в записи в базе данных (строчные буквы или заглавные - не важно, в процессе поиска всё переводится в строчные).

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру