<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rabbibob.com/index.php?action=history&amp;feed=atom&amp;title=ElasticSearch_on_MediaWiki</id>
	<title>ElasticSearch on MediaWiki - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.rabbibob.com/index.php?action=history&amp;feed=atom&amp;title=ElasticSearch_on_MediaWiki"/>
	<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;action=history"/>
	<updated>2026-08-26T10:44:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;diff=2033&amp;oldid=prev</id>
		<title>Rabbi Bob: /* Prerequisites */</title>
		<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;diff=2033&amp;oldid=prev"/>
		<updated>2026-08-26T08:56:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Prerequisites&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:56, 26 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;PHP:&amp;#039;&amp;#039;&amp;#039; The PHP &amp;lt;code&amp;gt;cURL&amp;lt;/code&amp;gt; extension must be enabled.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;PHP:&amp;#039;&amp;#039;&amp;#039; The PHP &amp;lt;code&amp;gt;cURL&amp;lt;/code&amp;gt; extension must be enabled.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Composer:&amp;#039;&amp;#039;&amp;#039; See https://getcomposer.org/install for more information.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Composer:&amp;#039;&amp;#039;&amp;#039; See https://getcomposer.org/install for more information.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;font color=&quot;red&quot;&amp;gt;&#039;&#039;&#039;DATABASE NAMES MUST BE ALL LOWERCASE&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Composer Install====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Composer Install====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rabbi Bob</name></author>
	</entry>
	<entry>
		<id>https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;diff=2032&amp;oldid=prev</id>
		<title>Rabbi Bob at 08:54, 26 August 2026</title>
		<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;diff=2032&amp;oldid=prev"/>
		<updated>2026-08-26T08:54:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:54, 26 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;MediaWiki 1.39+:&amp;#039;&amp;#039;&amp;#039; Recommended Elasticsearch 7.10.2 (or OpenSearch 1.3+).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;MediaWiki 1.39+:&amp;#039;&amp;#039;&amp;#039; Recommended Elasticsearch 7.10.2 (or OpenSearch 1.3+).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;PHP:&amp;#039;&amp;#039;&amp;#039; The PHP &amp;lt;code&amp;gt;cURL&amp;lt;/code&amp;gt; extension must be enabled.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;PHP:&amp;#039;&amp;#039;&amp;#039; The PHP &amp;lt;code&amp;gt;cURL&amp;lt;/code&amp;gt; extension must be enabled.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;Composer:&#039;&#039;&#039; See https://getcomposer.org/install for more information.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;====Composer Install====&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight lang=&quot;bash&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sudo apt update&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sudo apt upgrade&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sudo apt install curl php-cli php-mbstring git unzip&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;php -r &quot;copy(&#039;https://getcomposer.org/installer&#039;, &#039;composer-setup.php&#039;);&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;php composer-setup.php --install-dir=/usr/local/bin --filename=composer&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 1: Install &amp;amp; Start Elasticsearch ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 1: Install &amp;amp; Start Elasticsearch ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l40&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;Install PHP Dependencies:&amp;#039;&amp;#039;&amp;#039; If you cloned the extensions via Git, you must install the Composer dependencies inside both extension folders:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;#039;&amp;#039;&amp;#039;Install PHP Dependencies:&amp;#039;&amp;#039;&amp;#039; If you cloned the extensions via Git, you must install the Composer dependencies inside both extension folders:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cd Elastica &amp;amp;&amp;amp; composer install --no-dev &amp;amp;&amp;amp; cd ..&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cd Elastica &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;&amp;amp; composer config policy.advisories.block false &lt;/ins&gt;&amp;amp;&amp;amp; composer install --no-dev &amp;amp;&amp;amp; cd ..&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cd CirrusSearch &amp;amp;&amp;amp; composer install --no-dev &amp;amp;&amp;amp; cd ..&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cd CirrusSearch &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;&amp;amp; composer config policy.advisories.block false &lt;/ins&gt;&amp;amp;&amp;amp; composer install --no-dev &amp;amp;&amp;amp; cd ..&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rabbi Bob</name></author>
	</entry>
	<entry>
		<id>https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;diff=2031&amp;oldid=prev</id>
		<title>Rabbi Bob: Created page with &quot;== Installing and Configuring CirrusSearch with Elasticsearch ==  Setting up &#039;&#039;&#039;CirrusSearch&#039;&#039;&#039; with Elasticsearch requires three main phases: installing the Elasticsearch cluster, downloading the required MediaWiki extensions (Elastica and CirrusSearch), and building the search index via MediaWiki maintenance scripts.  === Prerequisites === * &#039;&#039;&#039;MediaWiki 1.39+:&#039;&#039;&#039; Recommended Elasticsearch 7.10.2 (or OpenSearch 1.3+). * &#039;&#039;&#039;PHP:&#039;&#039;&#039; The PHP &lt;code&gt;cURL&lt;/code&gt; extension mu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=ElasticSearch_on_MediaWiki&amp;diff=2031&amp;oldid=prev"/>
		<updated>2026-08-25T22:37:46Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Installing and Configuring CirrusSearch with Elasticsearch ==  Setting up &amp;#039;&amp;#039;&amp;#039;CirrusSearch&amp;#039;&amp;#039;&amp;#039; with Elasticsearch requires three main phases: installing the Elasticsearch cluster, downloading the required MediaWiki extensions (Elastica and CirrusSearch), and building the search index via MediaWiki maintenance scripts.  === Prerequisites === * &amp;#039;&amp;#039;&amp;#039;MediaWiki 1.39+:&amp;#039;&amp;#039;&amp;#039; Recommended Elasticsearch 7.10.2 (or OpenSearch 1.3+). * &amp;#039;&amp;#039;&amp;#039;PHP:&amp;#039;&amp;#039;&amp;#039; The PHP &amp;lt;code&amp;gt;cURL&amp;lt;/code&amp;gt; extension mu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Installing and Configuring CirrusSearch with Elasticsearch ==&lt;br /&gt;
&lt;br /&gt;
Setting up &amp;#039;&amp;#039;&amp;#039;CirrusSearch&amp;#039;&amp;#039;&amp;#039; with Elasticsearch requires three main phases: installing the Elasticsearch cluster, downloading the required MediaWiki extensions (Elastica and CirrusSearch), and building the search index via MediaWiki maintenance scripts.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MediaWiki 1.39+:&amp;#039;&amp;#039;&amp;#039; Recommended Elasticsearch 7.10.2 (or OpenSearch 1.3+).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PHP:&amp;#039;&amp;#039;&amp;#039; The PHP &amp;lt;code&amp;gt;cURL&amp;lt;/code&amp;gt; extension must be enabled.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Install &amp;amp; Start Elasticsearch ===&lt;br /&gt;
Install Elasticsearch on your server (instructions below are for Ubuntu/Debian):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Install Java runtime if not already installed&lt;br /&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt install -y openjdk-17-jre-headless&lt;br /&gt;
&lt;br /&gt;
# Install Elasticsearch 7.x&lt;br /&gt;
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-amd64.deb&lt;br /&gt;
sudo dpkg -i elasticsearch-7.10.2-amd64.deb&lt;br /&gt;
&lt;br /&gt;
# Enable and start the service&lt;br /&gt;
sudo systemctl enable --now elasticsearch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To verify it is running on &amp;lt;code&amp;gt;localhost:9200&amp;lt;/code&amp;gt;, test it in your terminal with &amp;lt;code&amp;gt;curl http://localhost:9200&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download the MediaWiki Extensions ===&lt;br /&gt;
CirrusSearch depends on &amp;#039;&amp;#039;&amp;#039;Extension:Elastica&amp;#039;&amp;#039;&amp;#039; to serve as the PHP client bridge.&lt;br /&gt;
&lt;br /&gt;
# Navigate to your MediaWiki &amp;lt;code&amp;gt;extensions/&amp;lt;/code&amp;gt; directory:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/www/html/&amp;lt;yourWebDir&amp;gt;/extensions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Download both Elastica and CirrusSearch (replace &amp;lt;code&amp;gt;REL1_39&amp;lt;/code&amp;gt; with your MediaWiki branch version, e.g., &amp;lt;code&amp;gt;REL1_40&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;REL1_43&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone -b REL1_43 https://gerrit.wikimedia.org/r/mediawiki/extensions/Elastica&lt;br /&gt;
git clone -b REL1_43 https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Install PHP Dependencies:&amp;#039;&amp;#039;&amp;#039; If you cloned the extensions via Git, you must install the Composer dependencies inside both extension folders:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd Elastica &amp;amp;&amp;amp; composer install --no-dev &amp;amp;&amp;amp; cd ..&lt;br /&gt;
cd CirrusSearch &amp;amp;&amp;amp; composer install --no-dev &amp;amp;&amp;amp; cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Configure LocalSettings.php ===&lt;br /&gt;
Open your &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt; file and add the following block at the bottom:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// 1. Load the required extensions&lt;br /&gt;
wfLoadExtension( &amp;#039;Elastica&amp;#039; );&lt;br /&gt;
wfLoadExtension( &amp;#039;CirrusSearch&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
// 2. Specify your Elasticsearch server location&lt;br /&gt;
$wgCirrusSearchServers = [ &amp;#039;127.0.0.1&amp;#039; ];&lt;br /&gt;
&lt;br /&gt;
// 3. Temporarily disable search updates during bootstrapping&lt;br /&gt;
$wgDisableSearchUpdate = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Generate and Bootstrap the Search Index ===&lt;br /&gt;
Run the maintenance scripts from your MediaWiki root directory to build and populate the Elasticsearch index.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Configure the index structure:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
php maintenance/run.php CirrusSearch:UpdateSearchIndexConfig&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Re-enable live search updates:&amp;#039;&amp;#039;&amp;#039; Go back into &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt; and &amp;#039;&amp;#039;&amp;#039;remove or comment out&amp;#039;&amp;#039;&amp;#039; the &amp;lt;code&amp;gt;$wgDisableSearchUpdate = true;&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Populate the index with your wiki&amp;#039;s page content:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
php maintenance/run.php CirrusSearch:ForceSearchIndex --skipLinks --indexOnSkip&lt;br /&gt;
php maintenance/run.php CirrusSearch:ForceSearchIndex --skipParse&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*: &amp;#039;&amp;#039;Note: For smaller wikis, running just &amp;lt;code&amp;gt;php maintenance/run.php CirrusSearch:ForceSearchIndex&amp;lt;/code&amp;gt; is usually sufficient.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Switch MediaWiki to Use CirrusSearch ===&lt;br /&gt;
Once indexing completes successfully, add the final setting to &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt; to hand search queries over to Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Direct default search traffic to CirrusSearch&lt;br /&gt;
$wgSearchType = &amp;#039;CirrusSearch&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test a search query on your wiki&amp;#039;s &amp;lt;code&amp;gt;Special:Search&amp;lt;/code&amp;gt; page. Your results should now be powered by Elasticsearch!&lt;br /&gt;
&lt;br /&gt;
=== Step 6: LocalSettings.php Cleanup ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
## CUSTOM ELASTIC SEARCH&lt;br /&gt;
// Force CirrusSearch overrides at the very end of LocalSettings.php&lt;br /&gt;
wfLoadExtension( &amp;#039;Elastica&amp;#039; );&lt;br /&gt;
wfLoadExtension( &amp;#039;CirrusSearch&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
$wgSearchType = &amp;#039;CirrusSearch&amp;#039;;&lt;br /&gt;
$wgCirrusSearchServers = [ &amp;#039;127.0.0.1&amp;#039; ];&lt;br /&gt;
&lt;br /&gt;
// Force exact database prefix matching for CirrusSearch&lt;br /&gt;
$wgCirrusSearchClusterOverrides = [&lt;br /&gt;
    &amp;#039;default&amp;#039; =&amp;gt; [&lt;br /&gt;
        &amp;#039;replica&amp;#039; =&amp;gt; &amp;#039;127.0.0.1&amp;#039;&lt;br /&gt;
    ]&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Ensure fallback to core MySQL is explicitly disabled for testing&lt;br /&gt;
$wgSearchType = &amp;#039;CirrusSearch&amp;#039;;&lt;br /&gt;
$wgCirrusSearchEnableDynamicHighlighter = false;&lt;br /&gt;
&lt;br /&gt;
$wgJobRunRate = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 7: Setup Crontab Job ===&lt;br /&gt;
====Job====&lt;br /&gt;
# Establish a job that runs every minute&lt;br /&gt;
# crontab -e&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * /usr/bin/php /var/www/html/&amp;lt;yourWebDir&amp;gt;/maintenance/run.php runJobs --maxtime=60 &amp;gt;&amp;gt; /var/log/mediawiki/runJobs.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Logs====&lt;br /&gt;
# Setup a log dir (probably should revisit this some day and do a proper rotation)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo mkdir -p /var/log/mediawiki&lt;br /&gt;
sudo chown it:it /var/log/mediawiki&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reverting to the Default MediaWiki Search ==&lt;br /&gt;
&lt;br /&gt;
If you are experiencing issues with CirrusSearch or simply want to revert to MediaWiki&amp;#039;s native MySQL/MariaDB database search, follow these steps to safely disable the extension.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Edit LocalSettings.php ===&lt;br /&gt;
Open your &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt; file and locate the configuration block for CirrusSearch.&lt;br /&gt;
&lt;br /&gt;
You must remove or comment out the line that sets the search engine type, as well as the extension loading commands.&lt;br /&gt;
&lt;br /&gt;
Change this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtension( &amp;#039;Elastica&amp;#039; );&lt;br /&gt;
wfLoadExtension( &amp;#039;CirrusSearch&amp;#039; );&lt;br /&gt;
$wgCirrusSearchServers = [ &amp;#039;127.0.0.1&amp;#039; ];&lt;br /&gt;
$wgSearchType = &amp;#039;CirrusSearch&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To this (commented out by adding &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// wfLoadExtension( &amp;#039;Elastica&amp;#039; );&lt;br /&gt;
// wfLoadExtension( &amp;#039;CirrusSearch&amp;#039; );&lt;br /&gt;
// $wgCirrusSearchServers = [ &amp;#039;127.0.0.1&amp;#039; ];&lt;br /&gt;
// $wgSearchType = &amp;#039;CirrusSearch&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*: &amp;#039;&amp;#039;Note: By removing &amp;lt;code&amp;gt;$wgSearchType&amp;lt;/code&amp;gt;, MediaWiki automatically falls back to its default internal search engine.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Clear the MediaWiki Cache ===&lt;br /&gt;
MediaWiki caches configuration settings. To ensure the wiki immediately recognizes that CirrusSearch has been disabled, purge the application cache from your terminal in the MediaWiki root directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
php maintenance/run.php purgeCache&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Verify the Changes ===&lt;br /&gt;
Go to your wiki in a web browser and try using the search bar. The results should now load using the standard MediaWiki search interface.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: (Optional) Stop the Elasticsearch Service ===&lt;br /&gt;
Elasticsearch consumes a significant amount of RAM (often 1GB+). If you do not plan to use it again or are permanently abandoning CirrusSearch, you should stop and disable the background service to free up your server resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl disable --now elasticsearch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Step 5: Crontab ===&lt;br /&gt;
# Edit out or remove the schedule crontab job.&lt;br /&gt;
&lt;br /&gt;
[[Category:Wiki]]&lt;br /&gt;
[[Category:Weblog-2026-08]]&lt;/div&gt;</summary>
		<author><name>Rabbi Bob</name></author>
	</entry>
</feed>