Example #1
0
 public static function getInstance()
 {
     if (!Books::$books_instance) {
         Books::$books_instance = new Books();
     }
     return Books::$books_instance;
 }
Example #2
0
 public function updateAuthorsFull($aids)
 {
     $documents = array();
     Books::$books_instance = false;
     // cached books?
     Persons::$persons_instance = false;
     // cached persons?
     $persons = Persons::getInstance()->getByIdsLoaded($aids);
     foreach ($persons as $person) {
         /* @var $person Person */
         $documents[] = $this->prepareAuthorFull($person);
     }
     $authors = self::$authors;
     /* @var $books Apache_Solr_Service */
     // удаляем из индекса
     $authors->deleteByMultipleIds($aids);
     // добавляем в индекс
     $authors->addDocuments($documents);
     // коммитим изменения
     $authors->commit();
     // оптимизируем поисковую базу
     $authors->optimize();
 }