1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Глобальный Search

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

  1. phantom76

    phantom76 Well-Known Member
    Lotus team

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

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

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

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

    lmike нет, пердело совершенство
    Lotus team

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

    phantom76 Well-Known Member
    Lotus team

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

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

    phantom76 Well-Known Member
    Lotus team

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


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

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

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

    phantom76 Well-Known Member
    Lotus team

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

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

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

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

    phantom76 Well-Known Member
    Lotus team

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

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

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

    Репутация:
    0
    Регистрация:
    11 дек 2009
    Сообщения:
    1.248
    Симпатии:
    2
    вот как раз это у меня и не работало! находило док просто потому, что в такая строка содержалось в другом поле..
    Хотя для поиска в ричтексте - покатит.
     
Загрузка...

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