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