deleteByQuery() public method

Deletes entries in the db based on a query.
public deleteByQuery ( Query | string $query, array $options = [] ) : Response
$query Query | string Query object
$options array Optional params
return Response
Ejemplo n.º 1
0
 /**
  * @group functional
  */
 public function testDeleteByQueryWithQueryAndOptions()
 {
     $this->_checkPlugin('delete-by-query');
     $index = $this->_createIndex(null, true, 2);
     $type = new Type($index, 'test');
     $doc = new Document(1, array('name' => 'ruflin nicolas'));
     $doc->setRouting('first_routing');
     $type->addDocument($doc);
     $doc = new Document(2, array('name' => 'ruflin'));
     $doc->setRouting('second_routing');
     $type->addDocument($doc);
     $index->refresh();
     $response = $index->search('ruflin*');
     $this->assertEquals(2, $response->count());
     $response = $index->search('ruflin*', array('routing' => 'first_routing'));
     $this->assertEquals(1, $response->count());
     $response = $index->search('nicolas');
     $this->assertEquals(1, $response->count());
     // Route to the wrong document id; should not delete
     $response = $type->deleteByQuery(new SimpleQueryString('nicolas'), array('routing' => 'second_routing'));
     $this->assertTrue($response->isOk());
     $index->refresh();
     $response = $index->search('ruflin*');
     $this->assertEquals(2, $response->count());
     $response = $index->search('nicolas');
     $this->assertEquals(1, $response->count());
     // Delete first document
     $response = $type->deleteByQuery(new SimpleQueryString('nicolas'), array('routing' => 'first_routing'));
     $this->assertTrue($response->isOk());
     $index->refresh();
     // Makes sure, document is deleted
     $response = $index->search('ruflin*');
     $this->assertEquals(1, $response->count());
     $response = $index->search('nicolas');
     $this->assertEquals(0, $response->count());
 }
Ejemplo n.º 2
0
 public function testDeleteByQuery()
 {
     $index = $this->_createIndex();
     $type = new Type($index, 'test');
     $type->addDocument(new Document(1, array('name' => 'ruflin nicolas')));
     $type->addDocument(new Document(2, array('name' => 'ruflin')));
     $index->refresh();
     $response = $index->search('ruflin*');
     $this->assertEquals(2, $response->count());
     $response = $index->search('nicolas');
     $this->assertEquals(1, $response->count());
     // Delete first document
     $response = $type->deleteByQuery('nicolas');
     $this->assertTrue($response->isOk());
     $index->refresh();
     // Makes sure, document is deleted
     $response = $index->search('ruflin*');
     $this->assertEquals(1, $response->count());
     $response = $index->search('nicolas');
     $this->assertEquals(0, $response->count());
 }