/** * 为新节点编制索引 */ public function buildNewNode() { $files = SearchFile::model()->findAll(); $countFiles = count($files); foreach ($files as $file) { echo "剩余:" . $countFiles . "个文件尚未编制索引,请稍后...\n"; $countFiles--; $this->createTask($file["node_ids"], $file["file_signature"]); } return count($files); }
/** * 迷你搜索节点编制索引成功 * @param $signature * @param $nodeId * @return boolean */ public function buildSuccess($signature, $nodeId) { $criteria = new CDbCriteria(); $criteria->condition = "file_signature=:file_signature"; $criteria->params = array("file_signature" => $signature); $item = SearchFile::model()->find($criteria); if (isset($item)) { //迷你搜索编制索引成功后,node_ids将追加 $nodeIds = $item->node_ids; if (empty($nodeIds)) { $item->node_ids = $nodeId; } else { $item->node_ids .= "," . $nodeId; } $item->save(); return true; } return false; }