• Модуль: search
  • Путь к файлу: ~/bitrix/modules/search/classes/general/search.php
  • Класс: CAllSearchQuery
  • Вызов: CAllSearchQuery::StemWord
function StemWord($w)
{
	static $preg_ru = false;
	if (is_array($w))
		$w = $w[0];
	$wu = ToUpper($w);

	if (!$this->no_bool_lang)
	{
		if (preg_match("/^(OR|AND|NOT|WITHOUT)$/", $wu))
		{
			return $w;
		}
		elseif ($this->rus_bool_lang == 'yes')
		{
			if ($preg_ru === false)
				$preg_ru = "/^(".ToUpper(GetMessage("SEARCH_TERM_OR")."|".GetMessage("SEARCH_TERM_AND")."|".GetMessage("SEARCH_TERM_NOT_1")."|".GetMessage("SEARCH_TERM_NOT_2")).")$/".BX_UTF_PCRE_MODIFIER;
			if (preg_match($preg_ru, $wu))
				return $w;
		}
	}

	if (preg_match("/cut[56]/i", $w))
		return $w;
	$arrStem = array_keys(stemming($w, $this->m_lang));
	if (count($arrStem) < 1)
		return " ";
	else
	{
		$this->bStemming = true;
		return '('.implode('|', $arrStem).')';
	}
}