Digestsearch

  • Автор темы Darker
  • Дата начала
D

Darker

Гость
#1
Доброе время суток, уважаемые форумчане!


Хотел бы поделиться практическим опытом использования метода поиска DigestSearch.

Применение данного метода я нашел в «групповой» персонализации документов пользователей. Иными словами, передо мной стояла задача создания «рабочего места» пользователя, в котором находились бы личные поручения, задачи, документы, разбитые по различным категориям.

Естественно, без изменения существующей архитектуры базы данных.

Для решения данной задачи создали «вспомогательную» базу данных, в которой будут ссылочные документы на «боевые» поручения, задачи, документы. В этих документах будет минимальная информация о ссылаемом документе, и сама ссылка.

Группировка ссылочных документов реализована стандартными средствами, т.е. parent-response, имеет 2-х уровневую «родственную» связь, и выглядит следующим образом:


- User-mirror
--- User sub-mirror
------ Document-mirror


В UNID документа User-mirror зашифрован LN адрес пользователя
В UNID документа User sub-mirror зашифрован LN адрес пользователя + наименование категории
В UNID документа Document-mirror зашифрован LN адрес пользователя + наименование категории + UNID боевого документа

За добавление и удаление ссылочных документов отвечает специальный класс.

«Вспомогательная» база данных не имеет представлений для отображения документов (в силу повышения производительности системы), а ее функцию выполняет скрипт, который генерит .html файл, который впоследствии отображает MS Web browser control (пусть простит меня Imike, не нашел другого выхода). При большом количестве документов, относящихся к одной категории предусматривается постраничное деление. Каждая страница будет генериться «по требованию».

Данная технология породила новые идеи создания зависимостей между документами в базах данных.