def terms_as_phrase(text_value): """ Строка как фраза :param text_value: строка содержащая поисковые термы :return: """ return u'"%s"' % escape(text_value).strip()
def terms_as_group(text_value, operator=u'OR'): """ Возфращает поисковое выражение в виде строки, где термы объеденены логическим операторм :param text_value: строка поисковых термов :param operator: оператор, которым будут обхеденяться термы AND, OR :return: поисковое выражение в виде строки, где термы объеденены логическим операторм. Например: (мама AND мыла AND раму) """ gs = group_spaces # группировка пробельных символов в 1 пробел и резка по проблеам terms = re.sub(gs, ur' ', text_value.strip()).split(u" ") for i in xrange(len(terms)): terms[i] = escape(terms[i]).strip() return u'(%s)' % ((u' ' + operator + u' ').join(terms))