From d728e274f6ff3f312998f689f3eb144acd210916 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 2 Feb 2009 01:13:52 +0000 Subject: First time running search maintenance task, remove any search_records that are missing matching items. --- modules/search/helpers/search_task.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/search/helpers/search_task.php b/modules/search/helpers/search_task.php index fd8338c1..116fd4f9 100644 --- a/modules/search/helpers/search_task.php +++ b/modules/search/helpers/search_task.php @@ -32,6 +32,13 @@ class search_task_Core { static function update_index($task) { $completed = $task->get("completed", 0); + if ($completed == 0) { + Database::instance()->query( + "DELETE `search_records`.* FROM `search_records` " . + "LEFT JOIN `items` ON (`search_records`.`item_id` = `items`.`id`) " . + "WHERE `items`.`id` IS NULL"); + } + foreach (ORM::factory("search_record")->where("dirty", 1)->limit(2)->find_all() as $record) { search::update_record($record); $completed++; -- cgit v1.2.3