本文整理匯總了PHP中eZSearch::needRemoveWithUpdate方法的典型用法代碼示例。如果您正苦於以下問題:PHP eZSearch::needRemoveWithUpdate方法的具體用法?PHP eZSearch::needRemoveWithUpdate怎麽用?PHP eZSearch::needRemoveWithUpdate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類eZSearch
的用法示例。
在下文中一共展示了eZSearch::needRemoveWithUpdate方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: registerSearchObject
/**
* Registers the object in search engine.
*
* @note Transaction unsafe. If you call several transaction unsafe methods you must enclose
* the calls within a db transaction; thus within db->begin and db->commit.
*
* @param int $objectID Id of the object.
*/
public static function registerSearchObject($objectID)
{
$objectID = (int) $objectID;
eZDebug::createAccumulatorGroup('search_total', 'Search Total');
$ini = eZINI::instance('site.ini');
$insertPendingAction = false;
$object = null;
switch ($ini->variable('SearchSettings', 'DelayedIndexing')) {
case 'enabled':
$insertPendingAction = true;
break;
case 'classbased':
$classList = $ini->variable('SearchSettings', 'DelayedIndexingClassList');
$object = eZContentObject::fetch($objectID);
if (is_array($classList) && in_array($object->attribute('class_identifier'), $classList)) {
$insertPendingAction = true;
}
}
if ($insertPendingAction) {
eZDB::instance()->query("INSERT INTO ezpending_actions( action, param ) VALUES ( 'index_object', '{$objectID}' )");
return;
}
if ($object === null) {
$object = eZContentObject::fetch($objectID);
}
// Register the object in the search engine.
$needCommit = eZSearch::needCommit();
if (eZSearch::needRemoveWithUpdate()) {
eZDebug::accumulatorStart('remove_object', 'search_total', 'remove object');
eZSearch::removeObject($object, $needCommit);
eZDebug::accumulatorStop('remove_object');
}
eZDebug::accumulatorStart('add_object', 'search_total', 'add object');
if (!eZSearch::addObject($object, $needCommit)) {
eZDebug::writeError("Failed adding object ID {$object->attribute('id')} in the search engine", __METHOD__);
}
eZDebug::accumulatorStop('add_object');
}