===== php.net search improvements ===== The search capabilities of php.net require improvement. ==== How it works today ==== Most of the work search performs is done offsite via api.bing.net although many features are internal too. * There are many different types of search (function list, online documentation, entire mirror, etc.) * The url search (php.net/foo) performs alternative actions (see errors.inc) including optional use of the sqlite database * Several file_exists() checks are performed, but using errors.inc and/or sqlite decreases the chances of this * Typically a Bing search is performed for the php.net domain index Some files of interest (todo: explain each files purpose): * http://svn.php.net/viewvc/web/php/trunk/include/manual-lookup.inc * http://svn.php.net/viewvc/web/php/trunk/include/errors.inc * http://svn.php.net/viewvc/web/php/trunk/error.php * http://svn.php.net/viewvc/web/php/trunk/search.php * http://svn.php.net/viewvc/web/php/trunk/my.php * http://svn.php.net/viewvc/web/php/trunk/ws.php * http://svn.php.net/viewvc/web/php/trunk/results.php * http://svn.php.net/viewvc/systems/trunk/gen-phpweb-sqlite-db.php ==== How it may work tomorrow ==== A few //possible// changes: * Add a mashup search result option (default?) that both suggests functions and does a mirror search * Integrate errors.inc magic into the search * Track when we choose the page for them (ex: search for strlen goes to its functions page) and offer a "Did you mean foo() or bar()?" snippet * Move from ext/sqlite to pdo_sqlite. See: [[ideas:phpnetsearchsqlite]] (done -Philip) * Add search snippets for commonly searched terms (proof-of-concept ([[http://php.net/str|Ex]]) implemented -Philip) * Take into account language when doing a search (do not show fr/ results when language en/ is chosen) (done -Rasmus) * Consider alternative my.php options including preferred default search method * Research usage of [[http://developer.yahoo.com/search/boss/|Yahoo Search BOSS]] (irrelevant now that we switched to Bing) ==== Other notes ==== * On May 5, 2009 the default search type changed from 'function list' to 'online documentation' but after feedback was changed back within 3 days * This topic should also be discussed while the site is redesigned (20xx) * About 102/109 of mirrors have pdo_sqlite but not ext/sqlite (we only use ext/sqlite currently)