protected function setUp() { $objObject = $this->createObject("class_module_system_aspect", ""); self::$arrObjectIds[] = $objObject->getSystemid(); $objSearchIndexWriter = new class_module_search_indexwriter(); $objSearchIndexWriter->clearIndex(); $objSearchDocument_1 = new class_module_search_document(); $objSearchDocument_1->setStrSystemId($objObject->getSystemid()); $objSearchDocument_1->setDocumentId(generateSystemid()); $objSearchDocument_1->addContent("title", "hallo"); $objSearchDocument_1->addContent("text", "welt"); $objSearchDocument_1->addContent("subtitle", "blub"); $objSearchDocument_1->addContent("text2", "blub"); $objObject = $this->createObject("class_module_search_search", ""); self::$arrObjectIds[] = $objObject->getSystemid(); $objSearchDocument_2 = new class_module_search_document(); $objSearchDocument_2->setStrSystemId($objObject->getSystemid()); $objSearchDocument_2->setDocumentId(generateSystemid()); $objSearchDocument_2->addContent("title", "hallo"); $objSearchDocument_2->addContent("text", "welt"); $objObject = $this->createObject("class_module_system_aspect", ""); self::$arrObjectIds[] = $objObject->getSystemid(); $objSearchDocument_3 = new class_module_search_document(); $objSearchDocument_3->setStrSystemId($objObject->getSystemid()); $objSearchDocument_3->setDocumentId(generateSystemid()); $objSearchDocument_3->addContent("title", "lorem ipsum dolor ipsum"); $objSearchDocument_3->addContent("text", "dolor ipsum sit amet, consetetur."); $objSearchIndexWriter->updateSearchDocumentToDb($objSearchDocument_1); $objSearchIndexWriter->updateSearchDocumentToDb($objSearchDocument_2); $objSearchIndexWriter->updateSearchDocumentToDb($objSearchDocument_3); parent::setUp(); }
/** * Triggers the indexing of a single object. * * @param class_model $objInstance * * @return void */ public function indexObject(class_model $objInstance = null) { if (!self::isIndexAvailable()) { return; } if ($objInstance != null && $objInstance instanceof class_module_pages_pageelement) { $objInstance = $objInstance->getConcreteAdminInstance(); if ($objInstance != null) { $objInstance->loadElementData(); } } if ($objInstance == null) { return; } $objSearchDocument = new class_module_search_document(); $objSearchDocument->setDocumentId(generateSystemid()); $objSearchDocument->setStrSystemId($objInstance->getSystemid()); if ($objInstance instanceof interface_search_portalobject) { $objSearchDocument->setBitPortalObject(true); $objSearchDocument->setStrContentLanguage($objInstance->getContentLang()); } $objReflection = new class_reflection($objInstance); $arrProperties = $objReflection->getPropertiesWithAnnotation(self::STR_ANNOTATION_ADDSEARCHINDEX); foreach ($arrProperties as $strPropertyName => $strAnnotationValue) { $getter = $objReflection->getGetter($strPropertyName); $strContent = $objInstance->{$getter}(); $objSearchDocument->addContent($strPropertyName, $strContent); } //trigger event-listeners class_core_eventdispatcher::getInstance()->notifyGenericListeners(class_search_eventidentifier::EVENT_SEARCH_OBJECTINDEXED, array($objInstance, $objSearchDocument)); $this->updateSearchDocumentToDb($objSearchDocument); }