Example #1
0
 /**
  * Transforms a string or an array to a query object.
  *
  * If query is empty,
  *
  * @param mixed $query
  *
  * @throws \Elastica\Exception\NotImplementedException
  *
  * @return self
  */
 public static function create($query)
 {
     switch (true) {
         case $query instanceof self:
             return $query;
         case $query instanceof AbstractQuery:
             return new self($query);
         case $query instanceof AbstractFilter:
             $newQuery = new self();
             $newQuery->setPostFilter($query);
             return $newQuery;
         case empty($query):
             return new self(new MatchAll());
         case is_array($query):
             return new self($query);
         case is_string($query):
             return new self(new QueryString($query));
         case $query instanceof AbstractSuggest:
             return new self(new Suggest($query));
         case $query instanceof Suggest:
             return new self($query);
     }
     // TODO: Implement queries without
     throw new NotImplementedException();
 }
 /**
  * Transforms a string or an array to a query object.
  *
  * If query is empty,
  *
  * @param mixed $query
  *
  * @throws \Elastica\Exception\NotImplementedException
  *
  * @return self
  */
 public static function create($query)
 {
     switch (true) {
         case $query instanceof self:
             return $query;
         case $query instanceof AbstractQuery:
             return new self($query);
         case $query instanceof AbstractFilter:
             trigger_error('Deprecated: Elastica\\Query::create() passing filter is deprecated. Create query and use setPostFilter with AbstractQuery instead.', E_USER_DEPRECATED);
             $newQuery = new self();
             $newQuery->setPostFilter($query);
             return $newQuery;
         case empty($query):
             return new self(new MatchAll());
         case is_array($query):
             return new self($query);
         case is_string($query):
             return new self(new QueryString($query));
         case $query instanceof AbstractSuggest:
             return new self(new Suggest($query));
         case $query instanceof Suggest:
             return new self($query);
     }
     // TODO: Implement queries without
     throw new NotImplementedException();
 }