2006/07/25 ---------- Query logic moved into the SearchQuery class in querylib.php. Should be able to include this file in any page and run a query against the index (PHP 5 checks must be added to those pages then, though). Index info can be retrieved using IndexInfo class in indexlib.php. Abstracted some stuff away, to reduce rendundancy and decrease the likelihood of errors. Improved the stats.php page to include some diagnostics for adminstrators. delete.php skeleton created for removing deleted documents from the index. cron.php will contain the logic for running delete.php, update.php and eventually add.php. 2006/07/11 ---------- (Warning: It took me 1900 seconds to index the forum, go make coffee whilst you wait.) [Moodle.org forum data] Forum search functions changed to use 'get_recordset' instead of 'get_records', for speed reasons. This provides a significant improvement, but indexing is still slow - getting data from the database and Zend's tokenising _seem_ to be the prime suspects at the moment. /search/tests/ added - index.php can be used to see which modules are ready to be included in the search index, and it informs you of any errors - should be a prerequisite for indexing. Search result pagination added to query.php, will default to 20 until an admin page for the search module is written. 2006/07/07 ---------- Search-enabling functions moved out've the mod's lib.php files and into /search/documents/mod_document.php - this requires the search module to operate without requiring modification of lib files. SearchDocument base class improved, and the way module documents extend it. A custom-data field has been added to allow modules to add any custom data they wish to be stored in the index - this field is serialised into the index as a binary field. Database field 'type' renamed to 'doctype' to match the renaming in the index, 'type' seems to be a reserved word in Lucene. Several index field names change to be more descriptive (cid -> course_id). URLs are now stored in the index, and don't have to be generated on the fly during display of query results. 2006/07/05 ------ Started cleaning and standardising things. cvs v1.1 -------- This is the initial release (prototype) of Moodle's new search module - so basically watch out for sharp edges. The structure has not been finalised, but this is what is working at the moment, when I start looking at other content to index, it will most likely change. I don't recommend trying to make your own content modules indexable, at least not until the whole flow is finalised. I will be implementing the functions needed to index all of the default content modules on Moodle, so expect that around mid-August. Wiki pages were my goal for this release, they can be indexed and searched, but not updated or deleted at this stage (was waiting for ZF 0.14 actually). I need to check the PostgreSQL sql file, I don't have a PG7 install lying around to test on, so the script is untested. To index for the first time, login as an admin user and browse to /search/index.php or /search/stats.php - there will be a message and a link telling you to go index. -- Michael Champanis (mchampan) cynnical@gmail.com Summer of Code 2006