Поиск контекстов по словообразовательной модели осуществляется в два прохода.
Сначала из полнотекстовой базы данных отбираются контексты, содержащие слова,
в которых встречается цепочка букв, совпадающая с морфом, перед обозначением
которого в шаблоне проставлен восклицательный знак. Этот этап называется первоначальным поиском.
После него из множества отобранных контекстов выбираются контексты, содержащие слова,
в которых встречаются цепочки букв, совпадающие с указанными в шаблоне морфами в заданной последовательности.
Этот проход осуществляется путем поиска в каждом контексте нужных слов по образцу,
формируемому на основании заданного шаблона путем перевода его в текст на языке так называемых регулярных выражений.
Получаемый путем перевода образец зависит от того, по какому морфу производился первоначальный поиск,
и от того, как заданы другие морфы в шаблоне.
Если пользователю неважно, присутствует ли морф данного класса в искомых словах, то соответствующая часть
в шаблоне может быть опущена. Указания на основу могут быть опущены, но в поиске по образцу основа всегда
присутствует (основа - это остаток от "вычитания" всех цепочек, совпадающих со служебными морфами, заданными шаблоном).
Шаблон для поиска подходящих слов формируется по следующим правилам:
|