Глобальный Search

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

  1. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    по темам покапался, мало что нашел..

    Вот такая задача, сделать по архивным базам нормальную поисковую форму. С текстовыми полями все понятно, с поисковой формы конструируем формулу для поиска в вперед в db.Search ... Но вот захотелось начальству, чтобы еще можно было искать по содержимому RT поля... здесь уже FTSearch соответственно в один запрос не вкинешь... Базы большие почти все по 50Гб , индекс строить по ним не хотелось бы. Есть задумка, предварительно обработать их и создать текстовые зеркальные поля для RT-полей и соответственно искать уже все через db.Search.

    Объем баз в основном за счет вложений, про поиск во вложениях вопрос не стоит.

    Насколько приемлемое решение будет? другого просто варианта не вижу..
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.077
    Симпатии:
    300
    есть такой компромис "время/объем" для случаев поиска и "время" ещё поднимет "проблему" загрузки сервера, делайте выводы ;)
    ФТ можно ограничить и не понятно что значит
     
  3. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    FTSearch раньше не пользовался, в каком формате у него должен быть Query ? В доках, что-то об этом умалчивают.. может ссылочку дадите где можно почитать про метод?

    Добавлено: спасибо, синтаксис нашел..
     
  4. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    я правильно понимаю, что первичную коллекцию можно получить например через db.Search , а потом повторно по ней
    пройтись FTSearch ?


    Код (LotusScript):
    Set dc = db.Search( vSearch, Nothing , 0 )
    ................
    Call dc.FTSearch("NewSearch", 100)
     
  5. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    нет
    и первую коллекцию FTSearch, и все последующие
     
  6. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    Но так работает тоже... FTSearch все равно по какой коллекции доков работать, после db.Search тоже работает.
     
  7. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Ну и здорово! :rolleyes:

    сам FTSearch я больше не пользуюсь, т.к. накололся на том, что ключевые слова для указания чёткого соответствия значения, содержащегося в поле, не работают - реально значение в этом поле не содержится, но док отбирается в коллекцию потому, что это значение есть в каком-либо другом поле.
     
  8. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    я тоже слышал о нем много лестных отзывов, поэтому и пробую связку, предварительную коллекцию строю через Search и потом всего по одному полю режу FTSearch

    если мне нужно в поле Body найти строчку: "field Body contains Искомая строка" - правильно?
     
  9. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    вот как раз это у меня и не работало! находило док просто потому, что в такая строка содержалось в другом поле..
    Хотя для поиска в ричтексте - покатит.
     
Загрузка...
Похожие Темы - Глобальный Search
  1. lmike
    Ответов:
    10
    Просмотров:
    1.051
  2. Gor
    Ответов:
    3
    Просмотров:
    3.011
  3. kmm96
    Ответов:
    1
    Просмотров:
    24
  4. Amfion
    Ответов:
    10
    Просмотров:
    152
  5. kuklofon
    Ответов:
    1
    Просмотров:
    131

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