Пример #1
0
 public function assembleMatchExpression(MatchExpression $expr)
 {
     $fields = [];
     foreach ($expr->getFields() as $field) {
         $fields[] = $this->assembleSegment($field);
     }
     switch ($expr->getSearchModifier()) {
         case MatchExpression::BOOLEAN_MODE:
             $modifier = ' IN BOOLEAN MODE';
             break;
         case MatchExpression::WITH_QUERY_EXPANSION:
             $modifier = ' WITH QUERY EXPANSION';
             break;
         default:
             $modifier = '';
     }
     $alias = '';
     if ($expr instanceof MatchSelectExpression) {
         if ($expr->hasAlias()) {
             $alias = ' AS `' . $expr->getAlias() . '`';
         }
     }
     return sprintf('MATCH (%s) AGAINST (%s%s)%s', implode(',', $fields), $this->assembleSegment($expr->getValue()), $modifier, $alias);
 }