setTerms() public method

Sets key and terms for the query.
public setTerms ( string $key, array $terms )
$key string Terms key
$terms array Terms for the query.
 public function testShouldReturnTheRightNumberOfResult()
 {
     $f = new Nested();
     $this->assertEquals(array('nested' => array()), $f->toArray());
     $q = new Terms();
     $q->setTerms('hobby', array('guitar'));
     $f->setPath('hobbies');
     $f->setQuery($q);
     $c = $this->_getClient();
     $s = new Search($c);
     $i = $c->getIndex('elastica_test_filter_nested');
     $s->addIndex($i);
     $r = $s->search($f);
     $this->assertEquals(1, $r->getTotalHits());
     $f = new Nested();
     $this->assertEquals(array('nested' => array()), $f->toArray());
     $q = new Terms();
     $q->setTerms('hobby', array('opensource'));
     $f->setPath('hobbies');
     $f->setQuery($q);
     $c = $this->_getClient();
     $s = new Search($c);
     $i = $c->getIndex('elastica_test_filter_nested');
     $s->addIndex($i);
     $r = $s->search($f);
     $this->assertEquals(2, $r->getTotalHits());
 }
 /**
  * @group functional
  */
 public function testFilteredSearch()
 {
     $index = $this->_createIndex();
     $type = $index->getType('helloworld');
     $type->addDocuments(array(new Document(1, array('name' => 'hello world')), new Document(2, array('name' => 'nicolas ruflin')), new Document(3, array('name' => 'ruflin'))));
     $query = new Terms();
     $query->setTerms('name', array('nicolas', 'hello'));
     $index->refresh();
     $resultSet = $type->search($query);
     $this->assertEquals(2, $resultSet->count());
     $query->addTerm('ruflin');
     $resultSet = $type->search($query);
     $this->assertEquals(3, $resultSet->count());
 }
 /**
  * @group functional
  */
 public function testSignificantTermsAggregationWithBackgroundFilter()
 {
     $agg = new SignificantTerms('significantTerms');
     $agg->setField('temperature');
     $agg->setSize(1);
     $termsFilter = new TermsFilter();
     $termsFilter->setTerms('color', array('blue', 'red', 'green', 'yellow'));
     $agg->setBackgroundFilter($termsFilter);
     $termsQuery = new Terms();
     $termsQuery->setTerms('color', array('blue', 'red', 'green', 'yellow', 'white'));
     $query = new Query($termsQuery);
     $query->addAggregation($agg);
     $results = $this->_getIndexForTest()->search($query)->getAggregation('significantTerms');
     $this->assertEquals(15, $results['buckets'][0]['doc_count']);
     $this->assertEquals(12, $results['buckets'][0]['bg_count']);
     $this->assertEquals('4500', $results['buckets'][0]['key_as_string']);
 }
 /**
  * @group functional
  */
 public function testShouldReturnTheRightNumberOfResult()
 {
     $filter = new Nested();
     $this->assertEquals(array('nested' => array()), $filter->toArray());
     $query = new Terms();
     $query->setTerms('hobbies.hobby', array('guitar'));
     $filter->setPath('hobbies');
     $filter->setQuery($query);
     $search = new Search($this->_getClient());
     $search->addIndex($this->_getIndexForTest());
     $resultSet = $search->search($filter);
     $this->assertEquals(1, $resultSet->getTotalHits());
     $filter = new Nested();
     $this->assertEquals(array('nested' => array()), $filter->toArray());
     $query = new Terms();
     $query->setTerms('hobbies.hobby', array('opensource'));
     $filter->setPath('hobbies');
     $filter->setQuery($query);
     $search = new Search($this->_getClient());
     $search->addIndex($this->_getIndexForTest());
     $resultSet = $search->search($filter);
     $this->assertEquals(2, $resultSet->getTotalHits());
 }
Beispiel #5
0
 /**
  * @param string $field
  * @param array $values
  *
  * @return \Elastica\Query\Terms
  */
 public function createTermsQuery($field, array $values)
 {
     $termQuery = new Terms();
     return $termQuery->setTerms($field, $values);
 }