/**
  * Real delete entities
  *
  * @throws Exception
  * @return void
  */
 public function realDeleteEntities()
 {
     // get deleted entities
     if (null != ($entities = $this->searchEntityDao->findDeletedEntities())) {
         foreach ($entities as $entity) {
             // get tags list
             $tags = $this->searchEntityTagDao->findTags($entity->id);
             // delete assigned tags
             foreach ($tags as $tag) {
                 $this->searchEntityTagDao->deleteById($tag->id);
             }
             // delete an entity part
             $this->searchEntityDao->deleteById($entity->id);
         }
         $this->searchEntityDao->optimizeTable();
         $this->searchEntityTagDao->optimizeTable();
     }
 }