Поиск форм слова

Для поиска всех форм слова используется функция stem().

stem() принимает в качестве аргумента слова и фразы в любой форме.

Синтаксис

stem([грамматическое_значение, ]аргумент,..), где «аргумент» — это искомое слово.

Запрос с использованием функции stem() эквивалентен простому запросу слова (в кавычках или без них).

Пример

объяснил = "объяснил" = stem(объяснил) — найдет все формы глагола «объяснить» (объясню, объяснишь, объяснили, объясни и т.д.), так как слово «объяснил» является формой глагола «объяснить».

opening = "opening" = stem(opening) — найдет все формы глагола «open» (open, opens, opening…​) и существительного «opening» (opening, openings), так как «opening» является формой глагола «open», а также существительного «opening».

Функция stem() может находить лишние результаты в случае, если указанное в запросе слово является совпадающей формой различных по смыслу слов (явление грамматической омонимии).

Пример

суда — форма лексем «суд» и «судно», запрос находит как формы слова «суд» (суд, суде, судом и т.д.), так и формы слова «судно» (судно, судне, судном и т.д.).

stem(стекло) — форма существительного «стекло» и глагола «стечь», запрос находит как формы слова «стекло» (стекло, стекла, стеклом и т.д.), так и формы слова «стечь» (стеку, стечешь, стек и т.д.).

stem(can) — форма глагола «can» (мочь) и существительного «can» (банка), запрос находит как формы глагола (can, could), так и существительного (can, cans).

При омонимии для снятия неоднозначности нужно явно указать лексему, формы которой необходимо искать (функция lemma(), см. подробнее «Поиск по лемме»).

Параметр грамматическое_значение является опциональным и используется для поиска с указанием конкретных морфологических категорий (см. «Поиск с учетом морфологии»).

Примечание

Функция с несколькими аргументами эквивалентна запросу из нескольких функций с одним аргументом, объединенных с помощью оператора or:

stem(конференция, выставка, авиасалон) = stem(конференция) or stem(выставка) or stem(авиасалон)