Knp\Bundle\KnpBundlesBundle\Indexer\SolrIndexer::deleteBundlesIndexes PHP Method

deleteBundlesIndexes() public method

Delete all bundles from index
public deleteBundlesIndexes ( Bundle $bundle = null )
$bundle Knp\Bundle\KnpBundlesBundle\Entity\Bundle
    public function deleteBundlesIndexes(Bundle $bundle = null)
    {
        $delete = $this->solarium->createUpdate();
        $delete->addDeleteQuery(null !== $bundle ? $bundle->getFullName() : '*:*');
        $delete->addCommit();
        $this->solarium->update($delete);
    }

Usage Example

 /**
  * Removes a specified bundle
  *
  * @param Bundle $bundle
  */
 protected function removeBundle(Bundle $bundle)
 {
     $owner = $bundle->getOwner();
     if ($owner instanceof Owner) {
         $owner->removeBundle($bundle);
     }
     // remove bundle from search index
     $this->indexer->deleteBundlesIndexes($bundle);
     $this->em->remove($bundle);
     $this->em->flush();
     // @todo also delete folder
     if ($this->logger) {
         $this->logger->warn(sprintf('Bundle "%s" was deleted', $bundle->getName()));
     }
 }