From d5b233026fa2930e4c6ee362ebdfd3586b2f3fb8 Mon Sep 17 00:00:00 2001 From: Tom N Harris Date: Fri, 17 Nov 2006 13:30:32 +0100 Subject: Indexer asian language fixes and speed-ups Make Chinese and Japanese work better with the new indexer. Some missing punctuation added to utf8_stripspecials. Misc. other changes to make indexing faster. The indexes will expire on backend upgrades, so you don't have to delete *.indexed darcs-hash:20061117123032-6942e-774b38e08234928c49b37e40addba375acf67ac0.gz --- lib/exe/indexer.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'lib/exe/indexer.php') diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index f5fc07bc3..057ab06f1 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -13,6 +13,9 @@ require_once(DOKU_INC.'inc/events.php'); session_write_close(); //close session if(!defined('NL')) define('NL',"\n"); +// Version tag used to force rebuild on upgrade +define(INDEXER_VERSION, 1); + // keep running after browser closes connection @ignore_user_abort(true); @@ -136,10 +139,15 @@ function runIndexer(){ if(!$ID) return false; // check if indexing needed - $last = @filemtime(metaFN($ID,'.indexed')); - if($last > @filemtime(wikiFN($ID))){ - print "runIndexer(): index for $ID up to date".NL; - return false; + $idxtag = metaFN($ID,'.indexed'); + if(@file_exists($idxtag)){ + if(io_readFile($idxtag) >= INDEXER_VERSION){ + $last = @filemtime($idxtag); + if($last > @filemtime(wikiFN($ID))){ + print "runIndexer(): index for $ID up to date".NL; + return false; + } + } } // try to aquire a lock @@ -163,7 +171,7 @@ function runIndexer(){ idx_addPage($ID); // we're finished - save and free lock - io_saveFile(metaFN($ID,'.indexed'),' '); + io_saveFile(metaFN($ID,'.indexed'),INDEXER_VERSION); @rmdir($lock); print "runIndexer(): finished".NL; return true; -- cgit v1.2.3