Пример #1
0
 /**
  * Tests span near query for expected search result.
  */
 public function testSpanNearQueryWhenSlopIsLarge()
 {
     $repo = $this->getManager()->getRepository('AcmeTestBundle:Product');
     $spanNear = new SpanNearQuery(['in_order' => true]);
     $spanNear->setSlop(40);
     $spanNear->addQuery(new SpanTermQuery('description', 'one'))->addQuery(new SpanTermQuery('description', 'two'))->addQuery(new SpanTermQuery('description', 'six'));
     $search = $repo->createSearch()->addQuery($spanNear);
     $results = $repo->execute($search, Repository::RESULTS_ARRAY);
     $this->assertEquals(1, count($results));
 }
 /**
  * Tests toArray method.
  */
 public function testSpanMultiTermQueryToArray()
 {
     /** @var SpanQueryInterface $mock */
     $mock = $this->mock;
     $query = new SpanNearQuery(['name']);
     $query->setSlop(5);
     $query->addQuery($mock);
     $result = ['clauses' => [0 => ['span_or' => ['key' => 'value']]], 'slop' => 5, 0 => 'name'];
     $this->assertEquals($result, $query->toArray());
 }
Пример #3
0
 /**
  * Test Span not query.
  */
 public function testSpanNotTestSimpleSpanQueries()
 {
     $repo = $this->getManager()->getRepository('AcmeTestBundle:Product');
     $spanNear = new SpanNearQuery();
     $spanNear->addQuery(new SpanTermQuery('description', 'consectetur'))->setSlop(1);
     $spanNot = new SpanNotQuery(new SpanTermQuery('description', 'foo'), $spanNear);
     $search = $repo->createSearch()->addQuery($spanNot);
     $results = $repo->execute($search, Repository::RESULTS_ARRAY);
     $this->assertEquals(1, count($results));
 }
Пример #4
0
 /**
  * Test Span or query with different span queries.
  */
 public function testSpanOrQuery()
 {
     $repo = $this->getManager()->getRepository('AcmeTestBundle:Product');
     $spanNear = new SpanNearQuery(['in_order' => true]);
     $spanNear->setSlop(1);
     $spanNear->addQuery(new SpanTermQuery('description', 'ipsum'))->addQuery(new SpanTermQuery('description', 'sit'));
     $spanOr = new SpanOrQuery();
     $spanOr->addQuery(new SpanFirstQuery(new SpanTermQuery('description', 'ipsum'), 2))->addQuery($spanNear);
     $search = $repo->createSearch()->addQuery($spanOr);
     $results = $repo->execute($search, Repository::RESULTS_ARRAY);
     $this->assertEquals(2, count($results));
 }