CanastaWiki / Canasta

MediaWiki Docker image for Canasta, an all-in-one MediaWiki stack for easy deployment and management of enterprise-ready MediaWiki on production environments.
https://www.canasta.wiki
MIT License
36 stars 27 forks source link

CirrusSearch not working on latest Canasta #389

Closed jeffw16 closed 1 month ago

jeffw16 commented 2 months ago

Describe the bug

Summary: UpdateSearchIndexConfig.php fails when running it.

Steps to reproduce the behavior:

Added the following to my brand new Canasta wiki running 2.0.1:

$wgDefaultSkin = 'vector'; // wfLoadSkin( 'Vector' ); is present in config/settings/Vector.php

wfLoadExtension( 'VisualEditor' );

wfLoadExtension( 'Elastica' );
wfLoadExtension( 'CirrusSearch' );
wfLoadExtension( 'AdvancedSearch' );

$wgSearchType = 'CirrusSearch';
$wgCirrusSearchServers = [ 'elasticsearch' ];

and then ran this:

➜  mwcon2024 git:(main) ✗ docker compose exec web php /var/www/mediawiki/w/canasta-extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php --wiki test1
indexing namespaces...
mw_cirrus_metastore missing, creating new metastore index.
Creating metastore index... mw_cirrus_metastore_first   Scanning available plugins...none
Elastica\Exception\ResponseException from line 182 of /var/www/mediawiki/w/vendor/ruflin/elastica/lib/Elastica/Transport/Http.php: Root mapping definition has unsupported parameters:  [mw_cirrus_metastore : {dynamic=false, properties={mediawiki_version={type=keyword}, mapping_min={type=long}, analysis_maj={type=long}, cirrus_commit={type=keyword}, mapping_maj={type=long}, wiki={type=keyword}, shard_count={type=long}, type={type=keyword}, index_name={type=keyword}, mediawiki_commit={type=keyword}, analysis_min={type=long}, namespace_name={norms=false, analyzer=near_match_asciifolding, type=text, index_options=docs}}}] [reason: Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters:  [mw_cirrus_metastore : {dynamic=false, properties={mediawiki_version={type=keyword}, mapping_min={type=long}, analysis_maj={type=long}, cirrus_commit={type=keyword}, mapping_maj={type=long}, wiki={type=keyword}, shard_count={type=long}, type={type=keyword}, index_name={type=keyword}, mediawiki_commit={type=keyword}, analysis_min={type=long}, namespace_name={norms=false, analyzer=near_match_asciifolding, type=text, index_options=docs}}}]]
#0 /var/www/mediawiki/w/vendor/ruflin/elastica/lib/Elastica/Request.php(194): Elastica\Transport\Http->exec()
#1 /var/www/mediawiki/w/vendor/ruflin/elastica/lib/Elastica/Client.php(689): Elastica\Request->send()
#2 /var/www/mediawiki/w/vendor/ruflin/elastica/lib/Elastica/Index.php(571): Elastica\Client->request()
#3 /var/www/mediawiki/w/canasta-extensions/CirrusSearch/includes/MetaStore/MetaStoreIndex.php(237): Elastica\Index->request()
#4 /var/www/mediawiki/w/canasta-extensions/CirrusSearch/includes/MetaStore/MetaStoreIndex.php(169): CirrusSearch\MetaStore\MetaStoreIndex->createNewIndex()
#5 /var/www/mediawiki/w/canasta-extensions/CirrusSearch/includes/Maintenance/Maintenance.php(218): CirrusSearch\MetaStore\MetaStoreIndex->createIfNecessary()
#6 /var/www/mediawiki/w/canasta-extensions/CirrusSearch/maintenance/IndexNamespaces.php(35): CirrusSearch\Maintenance\Maintenance->maybeCreateMetastore()
#7 /var/www/mediawiki/w/canasta-extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php(54): CirrusSearch\Maintenance\IndexNamespaces->execute()
#8 /var/www/mediawiki/w/maintenance/doMaintenance.php(107): CirrusSearch\Maintenance\UpdateSearchIndexConfig->execute()
#9 /var/www/mediawiki/w/canasta-extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php(70): require_once('/var/www/mediaw...')

Expected behavior

It should not error out. lol

System info

Please complete the following information:

yaronkoren commented 2 months ago

I believe the underlying problem here is actually #401.

jeffw16 commented 2 months ago

Agreed

yaronkoren commented 1 month ago

Hopefully this works:

Duplicate of #401

yaronkoren commented 1 month ago

Duplicate of #401