Chad Horohoe and I've been working on a new search backend for MediaWiki for the past few months and it is finally ready for people to try out! Project goals:
1. Parity or better than the MWSearch/lsearchd combination used inside WMF. 2. Easier install than the MWSearch/lsearchd combination used inside WMF. 3. Expand templates before indexing. 4. Horizontal scalability for query performance (read this as sharded indexes)
It is currently running in WMF's beta environment (http://beta.wmflabs.org/) and on test2.wikipedia.org and as an option on mediawiki.org (you have to add the super secret url parameter "srbackend=CirrusSearch".)
We think we've hit goals 2, 3, and 4 already. We're far enough along with goal 1 that any features missing are being filed as bug (https://bugzilla.wikimedia.org/buglist.cgi?list_id=230108&resolution=---...)
We'd love for some guinea pigs to give it a shot on wikis outside of WMF. To set it up you'd need to: 1. Install elasticsearch (http://elasticsearch.org/) 2. Setup Mediawiki from the master branch: git clone https://gerrit.wikimedia.org/r/mediawiki/core <the rest of setup> 3. Clone CirrusSearch: cd mediawiki/extensions git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch 4. Update the submodule in CirrusSearch: cd CirrusSearch git submodule init git submodule update) 5. Turn on CirrusSearch and configure it in LocalSettings.php by adding: require_once( "$IP/extensions/CirrusSearch/CirrusSearch.php" ); $wgCirrusSearchServers = array( 'the_server_on_which_you_installed_elasticsearch'); 6. Run two scripts to set up the index: php updateSearchConfig.php php forceSearchIndex.php
At some point we'll update mediawiki-vagrant to handle all that automatically....
Please us me know what you think.
Nik Everett