Media Wiki CirrusSearch: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 59: Line 59:
</syntaxhighlight>
</syntaxhighlight>
==SELinux Setup==
==SELinux Setup==
If SELinux is enabled on the host, the httpd process may not be able to invoke into the elasticsearch server, with the following symptoms:
If [[SELinux_Operations#How_to_Find_Out_Whether_SELinux_is_Enabled|SELinux is enabled]] on the host, the httpd process may not be able to invoke into the elasticsearch server, with the following symptoms:
<syntaxhighlight lang='text'>
<syntaxhighlight lang='text'>
[CirrusSearch] Search backend error during near_match search for 'test' after 5: unknown: Couldn't connect to host, Elasticsearch down?
[CirrusSearch] Search backend error during near_match search for 'test' after 5: unknown: Couldn't connect to host, Elasticsearch down?

Revision as of 01:56, 22 November 2021

External

Internal

Installation

Install elasticsearch. Use the latest recommended major version elasticsearch. Do not use 7.x if they recommend 6.x.

Elasticsearch Installation

Install Elastica extension:

Elastica Extension Installation

Download the correct CirrusSearch version from https://www.mediawiki.org/wiki/Special:ExtensionDistributor/CirrusSearch

Unzip it in the extensions directory:

tar -xzf CirrusSearch-REL1_35-95b958b.tar.gz -C /var/www/mediawiki-x.y.z/extensions

Add the following statement to LocalSettings.php:

wfLoadExtension( 'CirrusSearch' );

Smoke test: go to Special:Version and verify that the extension is successfully installed.

Follow the installation instructions delivered with /var/www/mediawiki-1.35.0/extensions/CirrusSearch/README.

In LocalSettings.php:

wfLoadExtension( 'Elastica' );
wfLoadExtension( 'CirrusSearch' );
$wgDisableSearchUpdate = true;


As root:

php /var/www/mediawiki-.../extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php

Remove

$wgDisableSearchUpdate = true;

from LocalSettings.php.

php /var/www/mediawiki-.../extensions/CirrusSearch/maintenance/maintenance/ForceSearchIndex.php --skipLinks --indexOnSkip
php /var/www/mediawiki-.../extensions/CirrusSearch/maintenance/maintenance/ForceSearchIndex.php --skipParse

In LocalSettings.php:

$wgSearchType = 'CirrusSearch';

SELinux Setup

If SELinux is enabled on the host, the httpd process may not be able to invoke into the elasticsearch server, with the following symptoms:

[CirrusSearch] Search backend error during near_match search for 'test' after 5: unknown: Couldn't connect to host, Elasticsearch down?

Troubleshooting

Enable debugging as shown in:

MediaWiki Troubleshooting
[CirrusSearchRequests] near_match search for 'test' against {index} took 5 millis. Requested via web for 5b7883dcb7cd761f62397caa67819012 by executor 2078481799
[CirrusSearch] Search backend error during near_match search for 'test' after 5: unknown: Couldn't connect to host, Elasticsearch down?