/**
  * @throws WrongArgumentException
  * @return SelectQuery
  **/
 public static function makeFullTextQuery(FullTextDAO $dao, Criteria $criteria, $string)
 {
     Assert::isString($string, 'only strings accepted today');
     $array = self::prepareSearchString($string);
     if (!$array) {
         throw new ObjectNotFoundException();
     }
     if (!($field = $dao->getIndexField()) instanceof DBField) {
         $field = new DBField($dao->getIndexField(), $dao->getTable());
     }
     return $criteria->toSelectQuery()->andWhere(Expression::fullTextOr($field, $array))->prependOrderBy(Expression::fullTextRankAnd($field, $array))->desc();
 }