Extension:CirrusSearch

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
CirrusSearch

Release status: beta

Implementation Search
Description Implements searching for MediaWiki using Elasticsearch
Author(s) Nik Everett, Chad Horohoe
Latest version 0.2 (2014-03-07)
MediaWiki 1.22+
PHP 5.3+
Database changes No
License GPLv2
Download
README
Parameters
  • $wgCirrusSearchServers
  • $wgCirrusSearchMaxRetries
  • $wgCirrusSearchSoftCommitTimeout
  • $wgCirrusSearchHardCommitTimeout
  • $wgCirrusSearchHardCommitMaxPendingDocs
  • $wgCirrusSearchCacheResultTime
  • $wgCirrusSearchCacheCleanupThread
  • $wgCirrusSearchFilterCacheSize
  • $wgCirrusSearchFilterCacheAutowarmCount
  • $wgCirrusSearchQueryResultCacheSize
  • $wgCirrusSearchQueryResultCacheAutowarmCount
  • $wgCirrusSearchDocumentCacheSize
Hooks used
PrefixSearchBackend

GetBetaFeaturePreferences

Translate the CirrusSearch extension if possible

Check usage and version matrix; code metrics
Bugs: list open list all report

The CirrusSearch extension implements searching for MediaWiki using Elasticsearch. See Help:CirrusSearch for documentation.

Project goals[edit | edit source]

  • No weird dependencies that make this difficult to install
    • The only dependencies should be pure-PHP MediaWiki extensions and Elasticsearch itself
  • Provide a near-real-time search index for wiki pages that's extendable by other MediaWiki extensions
  • Provide all of the query options MWSearch has given users, and more

Installation[edit | edit source]

Elasticsearch[edit | edit source]

  • You will need to install Elasticsearch. Information on installing/maintaining Elasticsearch itself can be found at elasticsearch.org.

Elastica[edit | edit source]

  • Download and extract the files in a directory called Elastica in your extensions/ folder. If you're a developer and this extension is in a Git repository, then instead you should clone the repository.
  • Add the following code at the bottom of your LocalSettings.php:
require_once( "$IP/extensions/Elastica/Elastica.php" );
  • Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.

CirrusSearch[edit | edit source]

  • Download and extract the files in a directory called CirrusSearch in your extensions/ folder. If you're a developer and this extension is in a Git repository, then instead you should clone the repository.
  • Add the following code at the bottom of your LocalSettings.php:
require_once( "$IP/extensions/CirrusSearch/CirrusSearch.php" );
  • Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.

Now follow the installation instructions in CirrusSearch's README.

Configuration[edit | edit source]

$wgCirrusSearchServers

Should be configured with the servers (names or IP addresses) running elasticsearch. For example:

$wgCirrusSearchServers = array( 'search01', 'search02' );

Other configuration is available and is documented in the CirrusSearch.php file.

See also[edit | edit source]