Поиск По Нескольким Базам

Тема в разделе "Lotus - Программирование", создана пользователем Dragon108, 13 янв 2012.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Есть необходимость сделать поиск по Архивным базам. Их количество примерно около 10.
    Причем результат поиска должен выводится одним списком, ну или как то, но что бы все показывалось в одном месте.
    Так вот хотел спросить, может кто-нибудь подскажет, как лучше это сделать? Ну хотя бы общие идеи ...

    P.S.(Есть идея тупо запускать для каждой базы Search, формировать коллекции и работать с ними, но насколько я знаю, коллекции из двух разных бд не сложишь(( можно все эти коллекции загнать в один список (контейнер), но так мне кажется очень долго будет работать, так как придется пробегаться как минимум два раза по всем документам всех коллекций (что бы загнать в контейнер, а затем что бы отобразить)).

    P.P.S. Слышал еще где то про вроде бы "стандартную базу для поиска". Якобы можно сделать бд, в которой будет происходить поиск по тем базам, ссылки которых будут хранится в этой бд, или как то так. И якобы это стандартная фича для лотуса и чуть ли не стандартный шаблон...

    Вообщем помогите кто чем может плиз. ;)
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    На предыдущей работе решили использовать Full Text Domain Search.

    Делается достаточно просто. Нужна catalog.nsf, это база "ядра системы".
    Появляется сама при включении службы на сервере. Хранит в себе индексы на: документы и вложения, вложения можно исключить настройкой.
    Определяет видимость относительно доступа к самим документам и базе.
    Выводит результат в таблицу, причем hotspot'ы на документы.

    Почитать можно тут:
    http://www-12.lotus.com/ldd/doc/domino_not...b1?OpenDocument

    к слову: мы меняли интерфейс поисковой страницы (изначально УГ да и встраивали поисковую страницу в почту пользователя), переписали кнопки с @ на LS (такая политика). Допиливали, т.к. если пользователь не имеет доступа к документу, то документ не отображается, но в результаты выводится пустой строкой (особенность работы).
    Так же покупали отдельный сервак для хранения индексов и поиска, писали процедуру добавления систем в доменный поиск (в реестре систем проставляли признак и потом агентом выставляли галочки для БД)

    Работает на ура, единственные 3 минуса:
    1. Индексирует все документы в базе и поиск ведет по всем индексам (aka Google в инете). Что ввел - то и получил. Лечиться редактированием запроса для поиска.
    2. задача индексации может первое время класть железку
    3. индексы доступа пересчитываются не сразу.
     
  3. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Dragon108
    >Так вот хотел спросить, может кто-нибудь подскажет, как лучше это сделать? Ну хотя бы общие идеи ...
    Делаем FTSearch по каждой БД отдельно. Полученные коллекеции отрисовываем сами. Если рисуем ричтекст, то ссылки ставим через недокументированный NotesRichTextItem.AddLinkByIDs. Если MIME или HTML, тогда ссылки по протоколу notes://
     
  4. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Забыл еще добавить, у нас было 50 лотусовых систем, с объемом документов более 3х миллионов, поэтому понадобился отдельный сервер.
    При меньших объемах он возможно не нужен, так же служба может не рушить сервер.
    Надо пробывать :what?:
     
Загрузка...

Поделиться этой страницей