Example #1
0
 public function testMerged()
 {
     $query = new Simples_Request_Search_Builder_Query();
     $query->match('scharrier')->in('username');
     $res = $query->to('array');
     $expected = array('term' => array('username' => 'scharrier'));
     $this->assertEquals($res, $expected);
     $query = new Simples_Request_Search_Builder_Query();
     $query->field('username')->match('scharrier');
     $res2 = $query->to('array');
     $this->assertEquals($res, $res2);
     $query = new Simples_Request_Search_Builder_Query();
     $query->fields(array('username', 'retweet'))->match('scharrier');
     $res = $query->to('array');
     $expected = array('query_string' => array('query' => 'scharrier', 'fields' => array('username', 'retweet')));
     $this->assertEquals($res, $expected);
     $query = new Simples_Request_Search_Builder_Query();
     $query->match('scharrier');
     $query->in(array('username', 'retweet'));
     $res = $query->to('array');
     $this->assertEquals($res, $expected);
     $query = new Simples_Request_Search_Builder_Query();
     $query->add(array('query' => 'scharrier', 'in' => array('username', 'retweet')));
     $res = $query->to('array');
     $this->assertEquals($res, $expected);
 }
Example #2
0
 /**
  * Add multiples field queries one time. It's a simplified call wich permit to give this kind of array :
  * $request->queries(array(
  *		'field' => 'value',
  *		'other_field' => array('value 1', 'value 2')
  * ));
  * 
  * @param array $queries			List of criteries. Field name in key, search in value.
  * @return \Simples_Request_Search	This instance.
  */
 public function queries(array $queries)
 {
     // Save current subobject
     $this->_current = 'query';
     $this->_fluid = true;
     foreach ($queries as $in => $match) {
         $this->_query->add(array('query' => $match, 'in' => $in));
     }
     return $this;
 }