• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Глобальный Search

  • Автор темы phantom76
  • Дата начала
P

phantom76

по темам покапался, мало что нашел..

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

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

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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
здесь уже FTSearch соответственно в один запрос не вкинешь... Базы большие почти все по 50Гб , индекс строить по ним не хотелось бы.
есть такой компромис "время/объем" для случаев поиска и "время" ещё поднимет "проблему" загрузки сервера, делайте выводы ;)
ФТ можно ограничить и не понятно что значит
в один запрос не вкинешь
 
P

phantom76

FTSearch раньше не пользовался, в каком формате у него должен быть Query ? В доках, что-то об этом умалчивают.. может ссылочку дадите где можно почитать про метод?

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

phantom76

я правильно понимаю, что первичную коллекцию можно получить например через db.Search , а потом повторно по ней
пройтись FTSearch ?


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

VladSh

начинающий
Lotus Team
11.12.2009
1 784
157
BIT
57
нет
и первую коллекцию FTSearch, и все последующие
 

VladSh

начинающий
Lotus Team
11.12.2009
1 784
157
BIT
57
Ну и здорово! :rolleyes:

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

phantom76

Ну и здорово! :rolleyes:

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

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

VladSh

начинающий
Lotus Team
11.12.2009
1 784
157
BIT
57
если мне нужно в поле Body найти строчку: "field Body contains Искомая строка" - правильно?
вот как раз это у меня и не работало! находило док просто потому, что в такая строка содержалось в другом поле..
Хотя для поиска в ричтексте - покатит.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!