===== 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)