Elastica\Query\Regexp::setValue PHP Method

setValue() public method

Sets the query expression for a key with its boost value.
public setValue ( string $key, string $value, float $boost = 1 )
$key string
$value string
$boost float
    public function setValue($key, $value, $boost = 1.0)
    {
        return $this->setParam($key, ['value' => $value, 'boost' => $boost]);
    }

Usage Example

Exemplo n.º 1
0
 /**
  *
  * @ApiDoc(
  *  resource=true,
  *  description="search users in username-email-tags and subjects (accepts regex inputs)",
  *  parameters={
  * {
  *          "name"="q",
  *          "dataType"="string",
  *          "required"="true",
  *          "description"="search term"
  *      }
  *  }
  * )
  * @Get("/search/user")
  *
  * @param  Request $request
  * @return array
  */
 public function getUsersAction(Request $request)
 {
     $q = $request->get('q');
     $search = $this->container->get('fos_elastica.index.search.user');
     $s1 = new Query\Regexp();
     $s1->setValue('username', $q);
     $s2 = new Query\Regexp();
     $s2->setValue('subjects', $q);
     $s3 = new Query\Regexp();
     $s3->setValue('tags', $q);
     $query = new Query\Bool();
     $query->addShould($s1);
     $query->addShould($s2);
     $query->addShould($s3);
     $results = $search->search($query);
     $data = [];
     foreach ($results as $result) {
         $data[] = array_merge(array('id' => $result->getId()), $result->getData());
     }
     return $data;
 }