I had posted a question in the past for MW 1.23. I have installed Elastica, Elasticsearch and CirrusSearch and I am not sure what I need to do know in order to create an index which is diacritics-insensitive even for Polytonic Greek. The last info I had was to install analysis-icu plugin and the Extra Queries and Filters but I am not sure which version of these and how (and the compatibility with Elastica 5.6.13 which I installed).
Topic on Extension talk:CirrusSearch
CirrusSearch for MW1.31 with ICU plugin support?
MW 1.31 should support Elastic 5.6.13 and ICU folding, you need to install the two plugins you mentioned.
Elasticsearch plugins are generally following elasticsearch versions. The analysis-icu plugin being maintained by elastic itself it's always up to date. The Extra plugin being maintained by the WMF is not guaranteed to be available for all elasticsearch versions available. I've just released the version 5.6.13 which should be compatible with the version of elasticsearch you plan to use.
So assuming that Manual:$wgLanguageCode is set to
el on this wiki and that you install the analysis-icu and extra plugin should have ICU folding enabled everywhere (completion search and fulltext search). Note that a reindex is required.
If the language code is not set to
el yon can force enable ICU by setting
$wgCirrusSearchUseIcuFolding = 'yes';.
Thank you so much for prompt reply. Both installed successfully.
Just in case this proves helpful to someone else. Indexing would stop half-way urging to use
$wgShowExceptionDetails = 'true'; for debug info. After doing that and indexing again, this came up:
MWUnknownContentModelException from line 306 of public_html/includes/content/ContentHandler.php: The content model 'Scribunto' is not registered on this wiki.
See https://www.mediawiki.org/wiki/Content_handlers to find out which extensions handle this content model.
#0 public_html/includes/content/ContentHandler.php(243): ContentHandler::getForModelID(string)
#1 public_html/includes/Title.php(4984): ContentHandler::getForTitle(Title)
#2 public_html/includes/parser/Parser.php(892): Title->getPageLanguage()
#3 public_html/includes/parser/Parser.php(2126): Parser->getTargetLanguage()
#4 public_html/includes/parser/Parser.php(2091): Parser->replaceInternalLinks2(string)
#5 public_html/includes/parser/Parser.php(1318): Parser->replaceInternalLinks(string)
#6 public_html/includes/parser/Parser.php(443): Parser->internalParse(string)
#7 public_html/includes/content/WikitextContent.php(323): Parser->parse(string, Title, ParserOptions, boolean, boolean, integer)
#8 public_html/includes/content/AbstractContent.php(516): WikitextContent->fillParserOutput(Title, integer, ParserOptions, boolean, ParserOutput)
#9 public_html/includes/content/ContentHandler.php(1324): AbstractContent->getParserOutput(Title, integer, ParserOptions)
#10 public_html/extensions/CirrusSearch/includes/Updater.php(363): ContentHandler->getParserOutputForIndexing(WikiPage, ParserCache)
#11 public_html/extensions/CirrusSearch/includes/Updater.php(204): CirrusSearch\Updater->buildDocumentsForPages(array, integer)
#12 public_html/extensions/CirrusSearch/maintenance/forceSearchIndex.php(218): CirrusSearch\Updater->updatePages(array, integer)
#13 public_html/maintenance/doMaintenance.php(94): CirrusSearch\ForceSearchIndex->execute()
This was resolved with:
UPDATE page SET page_content_model = 'wikitext' WHERE page_content_model = 'Scribunto'
And after that reindexing was successful.