extension.json
{
"name": "CirrusSearch",
"author": [
"Nik Everett",
"Chad Horohoe",
"Erik Bernhardson"
],
"url": "https://www.mediawiki.org/wiki/Extension:CirrusSearch",
"descriptionmsg": "cirrussearch-desc",
"license-name": "GPL-2.0-or-later",
"type": "other",
"requires": {
"MediaWiki": ">= 1.43",
"extensions": {
"Elastica": ">= 6.0.1"
}
},
"Actions": {
"cirrusdump": "CirrusSearch\\Dump"
},
"APIModules": {
"cirrus-config-dump": "CirrusSearch\\Api\\ConfigDump",
"cirrus-mapping-dump": "CirrusSearch\\Api\\MappingDump",
"cirrus-settings-dump": "CirrusSearch\\Api\\SettingsDump",
"cirrus-profiles-dump": "CirrusSearch\\Api\\ProfilesDump",
"cirrus-check-sanity": "CirrusSearch\\Api\\CheckSanity"
},
"APIPropModules": {
"cirrusbuilddoc": "CirrusSearch\\Api\\QueryBuildDocument",
"cirrusdoc": "CirrusSearch\\Api\\QueryCirrusDoc",
"cirruscompsuggestbuilddoc": "CirrusSearch\\Api\\QueryCompSuggestBuildDoc"
},
"ConfigRegistry": {
"CirrusSearch": "CirrusSearch\\SearchConfig::newFromGlobals"
},
"JobClasses": {
"cirrusSearchDeletePages": "CirrusSearch\\Job\\DeletePages",
"cirrusSearchIncomingLinkCount": "CirrusSearch\\Job\\IncomingLinkCount",
"cirrusSearchLinksUpdate": "CirrusSearch\\Job\\LinksUpdate",
"cirrusSearchLinksUpdatePrioritized": "CirrusSearch\\Job\\LinksUpdate",
"cirrusSearchMassIndex": "CirrusSearch\\Job\\MassIndex",
"cirrusSearchOtherIndex": "CirrusSearch\\Job\\OtherIndex",
"cirrusSearchElasticaWrite": "CirrusSearch\\Job\\ElasticaWrite",
"cirrusSearchCheckerJob": "CirrusSearch\\Job\\CheckerJob",
"cirrusSearchIndexArchive": "CirrusSearch\\Job\\IndexArchive",
"cirrusSearchDeleteArchive": "CirrusSearch\\Job\\DeleteArchive"
},
"MessagesDirs": {
"CirrusSearch": [
"i18n",
"i18n/api"
]
},
"TestAutoloadClasses": {
"CirrusSearch\\CirrusIntegrationTestCase": "tests/phpunit/integration/CirrusIntegrationTestCase.php",
"CirrusSearch\\CirrusIntegrationTestCaseTrait": "tests/phpunit/integration/CirrusIntegrationTestCaseTrait.php",
"CirrusSearch\\CirrusTestCase": "tests/phpunit/unit/CirrusTestCase.php",
"CirrusSearch\\CirrusTestCaseTrait": "tests/phpunit/unit/CirrusTestCaseTrait.php",
"CirrusSearch\\Query\\SimpleKeywordFeatureTestTrait": "tests/phpunit/unit/Query/SimpleKeywordFeatureTestTrait.php",
"CirrusSearch\\Query\\KeywordFeatureAssertions": "tests/phpunit/unit/Query/KeywordFeatureAssertions.php",
"CirrusSearch\\Fallbacks\\FallbackMethodTestBase": "tests/phpunit/unit/Fallbacks/FallbackMethodTestBase.php"
},
"AutoloadNamespaces": {
"CirrusSearch\\": "includes/",
"CirrusSearch\\Maintenance\\": "maintenance/"
},
"TestAutoloadNamespaces": {
"CirrusSearch\\Test\\": "tests/phpunit/unit/mocks/"
},
"ResourceModules": {
"ext.cirrus.serp": {
"scripts": [
"resources/ext.cirrus.serp.js"
],
"dependencies": [
"mediawiki.router",
"mediawiki.util",
"web2017-polyfills"
],
"styles": [],
"messages": []
}
},
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteExtPath": "CirrusSearch"
},
"Hooks": {
"APIAfterExecute": "default",
"ApiBeforeMain": "default",
"APIQuerySiteInfoStatisticsInfo": "default",
"APIQuerySiteInfoGeneralInfo": "apiquerysiteinfogeneralinfo",
"PageDelete": "changelistener",
"PageDeleteComplete": [
"changelistener",
"archivechangelistener"
],
"ArticleRevisionVisibilitySet": "changelistener",
"PageUndeleteComplete": "archivechangelistener",
"BeforeInitialize": "default",
"CirrusSearchAddQueryFeatures": "CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchAddQueryFeatures",
"CirrusSearchAnalysisConfig": "CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchAnalysisConfig",
"CirrusSearchSimilarityConfig": "CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchSimilarityConfig",
"GetPreferences": "default",
"LinksUpdateComplete": [
"changelistener",
"eventbusbridge"
],
"PrefixSearchExtractNamespace": "default",
"ResourceLoaderGetConfigVars": "default",
"SearchIndexFields": [
"wikimediatags",
"custompagefields"
],
"SearchGetNearMatch": "default",
"ShowSearchHitTitle": "default",
"SoftwareInfo": "default",
"SpecialSearchResults": "default",
"SpecialSearchResultsAppend": "default",
"SpecialStatsAddExtra": "default",
"TitleMove": "changelistener",
"PageMoveComplete": "changelistener",
"UploadComplete": "changelistener",
"UserGetDefaultOptions": "default"
},
"HookHandlers": {
"default": {
"class": "CirrusSearch\\Hooks",
"services": [
"ConfigFactory"
]
},
"wikimediatags": {
"class": "CirrusSearch\\Wikimedia\\WeightedTagsHooks"
},
"custompagefields": {
"class": "CirrusSearch\\Hooks\\CustomPageFields"
},
"changelistener": {
"class": "CirrusSearch\\ChangeListener",
"factory": "CirrusSearch\\ChangeListener::create",
"services": [
"JobQueueGroup",
"ConfigFactory",
"ConnectionProvider",
"RedirectLookup"
]
},
"archivechangelistener": {
"class": "CirrusSearch\\ArchiveChangeListener",
"factory": "CirrusSearch\\ArchiveChangeListener::create",
"services": [
"JobQueueGroup",
"ConfigFactory"
]
},
"eventbusbridge": {
"class": "CirrusSearch\\Event\\EventBridge",
"factory": "CirrusSearch\\Event\\EventBusBridge::factory",
"services": [
"ConfigFactory",
"MainConfig",
"GlobalIdGenerator",
"TitleFormatter",
"PageStore"
],
"optional_services": [
"EventBus.EventBusFactory",
"EventBus.StreamNameMapper"
]
},
"apiquerysiteinfogeneralinfo": {
"class": "CirrusSearch\\Hooks\\CirrusSearchApiQuerySiteInfoGeneralInfoHook",
"services": [
"ConnectionProvider"
]
}
},
"config": {
"CirrusSearchDefaultCluster": {
"value": "default"
},
"CirrusSearchDisableUpdate": {
"value": false
},
"CirrusSearchClusters": {
"description": "If both CirrusSearchClusters and CirrusSearchWriteClusters are specified, those clusters only appearing in CirrusSearchClusters are considered read-only.",
"merge_strategy": "provide_default",
"value": {
"default": [
"localhost"
]
}
},
"CirrusSearchWriteClusters": {
"value": null
},
"CirrusSearchWriteIsolateClusters": {
"value": null
},
"CirrusSearchElasticaWritePartitionCounts": {
"description": "Mapping from writable cluster name to number of partitions. Defaults to 1 if not set.",
"value": []
},
"CirrusSearchPrivateClusters": {
"value": null
},
"CirrusSearchReplicaGroup": {
"value": "default"
},
"CirrusSearchCrossClusterSearch": {
"value": false
},
"CirrusSearchConnectionAttempts": {
"value": 1
},
"CirrusSearchShardCount": {
"value": {
"content": 1,
"general": 1,
"archive": 1,
"titlesuggest": 1
}
},
"CirrusSearchReplicas": {
"value": "0-2"
},
"CirrusSearchMaxShardsPerNode": {
"value": []
},
"CirrusSearchSlowSearch": {
"value": 10
},
"CirrusSearchUseExperimentalHighlighter": {
"value": false
},
"CirrusSearchOptimizeIndexForExperimentalHighlighter": {
"value": false
},
"CirrusSearchWikimediaExtraPlugin": {
"value": []
},
"CirrusSearchEnableRegex": {
"value": true
},
"CirrusSearchRegexMaxDeterminizedStates": {
"value": 20000
},
"CirrusSearchQueryStringMaxDeterminizedStates": {
"value": null
},
"CirrusSearchQueryStringMaxWildcards": {
"value": 3
},
"CirrusSearchNamespaceMappings": {
"value": [],
"merge_strategy": "array_plus"
},
"CirrusSearchExtraIndexes": {
"value": [],
"merge_strategy": "array_plus"
},
"CirrusSearchExtraIndexBoostTemplates": {
"value": []
},
"CirrusSearchUpdateShardTimeout": {
"value": "1ms"
},
"CirrusSearchClientSideUpdateTimeout": {
"value": 120
},
"CirrusSearchClientSideConnectTimeout": {
"value": 5
},
"CirrusSearchSearchShardTimeout": {
"value": {
"comp_suggest": "5s",
"prefix": "5s",
"default": "20s",
"regex": "120s"
}
},
"CirrusSearchClientSideSearchTimeout": {
"value": {
"comp_suggest": 10,
"prefix": 10,
"default": 40,
"regex": 240
}
},
"CirrusSearchMaintenanceTimeout": {
"value": 3600
},
"CirrusSearchPrefixSearchStartsWithAnyWord": {
"value": false
},
"CirrusSearchPhraseSlop": {
"value": {
"precise": 0,
"default": 0,
"boost": 1
}
},
"CirrusSearchPhraseRescoreBoost": {
"value": 10
},
"CirrusSearchPhraseRescoreWindowSize": {
"value": 512
},
"CirrusSearchFunctionRescoreWindowSize": {
"value": 8192
},
"CirrusSearchMoreAccurateScoringMode": {
"value": true
},
"CirrusSearchFallbackProfile": {
"value": "phrase_suggest"
},
"CirrusSearchFallbackProfiles": {
"value": []
},
"CirrusSearchEnablePhraseSuggest": {
"value": true
},
"CirrusSearchPhraseSuggestProfiles": {
"value": []
},
"CirrusSearchPhraseSuggestReverseField": {
"value": {
"build": false,
"use": false
}
},
"CirrusSearchPhraseSuggestUseText": {
"value": false
},
"CirrusSearchPhraseSuggestUseOpeningText": {
"value": false
},
"CirrusSearchAllowLeadingWildcard": {
"value": true
},
"CirrusSearchIndexFieldsToCleanup": {
"value": []
},
"CirrusSearchIndexedRedirects": {
"value": 1024
},
"CirrusSearchLinkedArticlesToUpdate": {
"value": 25
},
"CirrusSearchUnlinkedArticlesToUpdate": {
"value": 25
},
"CirrusSearchSimilarityProfile": {
"value": "bm25_with_defaults"
},
"CirrusSearchSimilarityProfiles": {
"value": []
},
"CirrusSearchWeights": {
"value": {
"title": 20,
"redirect": 15,
"category": 8,
"heading": 5,
"opening_text": 3,
"text": 1,
"auxiliary_text": 0.5,
"file_text": 0.5
}
},
"CirrusSearchPrefixWeights": {
"value": {
"title": 10,
"redirect": 1,
"title_asciifolding": 7,
"redirect_asciifolding": 0.7
}
},
"CirrusSearchBoostOpening": {
"value": "first_heading"
},
"CirrusSearchNearMatchWeight": {
"value": 2
},
"CirrusSearchStemmedWeight": {
"value": 0.5
},
"CirrusSearchNamespaceWeights": {
"value": {
"2": 0.05,
"4": 0.1,
"8": 0.05,
"10": 0.005,
"12": 0.1
},
"merge_strategy": "array_plus"
},
"CirrusSearchDefaultNamespaceWeight": {
"value": 0.2
},
"CirrusSearchTalkNamespaceWeight": {
"value": 0.25
},
"CirrusSearchLanguageWeight": {
"value": {
"user": 0,
"wiki": 0
}
},
"CirrusSearchPreferRecentDefaultDecayPortion": {
"value": 0
},
"CirrusSearchPreferRecentUnspecifiedDecayPortion": {
"value": 0.6
},
"CirrusSearchPreferRecentDefaultHalfLife": {
"value": 160
},
"CirrusSearchMoreLikeThisConfig": {
"value": {
"min_doc_freq": 2,
"max_doc_freq": null,
"max_query_terms": 25,
"min_term_freq": 2,
"min_word_length": 0,
"max_word_length": 0,
"minimum_should_match": "30%"
}
},
"CirrusSearchMoreLikeThisMaxQueryTermsLimit": {
"value": 100
},
"CirrusSearchMoreLikeThisFields": {
"value": [
"text"
]
},
"CirrusSearchMoreLikeThisAllowedFields": {
"value": [
"title",
"text",
"auxiliary_text",
"opening_text",
"headings"
]
},
"CirrusSearchClusterOverrides": {
"value": []
},
"CirrusSearchMoreLikeThisTTL": {
"value": 0
},
"CirrusSearchFetchConfigFromApi": {
"value": false
},
"CirrusSearchInterwikiSources": {
"value": []
},
"CirrusSearchCrossProjectOrder": {
"value": "static"
},
"CirrusSearchCrossProjectBlockScorerProfiles": {
"value": []
},
"CirrusSearchInterwikiHTTPTimeout": {
"value": 10
},
"CirrusSearchInterwikiHTTPConnectTimeout": {
"value": 5
},
"CirrusSearchRefreshInterval": {
"value": 1
},
"CirrusSearchUpdateDelay": {
"value": {
"prioritized": 0,
"default": 0
}
},
"CirrusSearchBannedPlugins": {
"value": []
},
"CirrusSearchUpdateConflictRetryCount": {
"value": 5
},
"CirrusSearchFragmentSize": {
"value": 150
},
"CirrusSearchIndexAllocation": {
"value": {
"include": [],
"exclude": [],
"require": []
}
},
"CirrusSearchPoolCounterKey": {
"value": "_elasticsearch"
},
"CirrusSearchMergeSettings": {
"value": []
},
"CirrusSearchLogElasticRequests": {
"value": true
},
"CirrusSearchLogElasticRequestsSecret": {
"value": false
},
"CirrusSearchMaxFullTextQueryLength": {
"value": 300
},
"CirrusSearchMaxIncategoryOptions": {
"value": 100
},
"CirrusSearchFeedbackLink": {
"value": false
},
"CirrusSearchWriteBackoffExponent": {
"value": 6
},
"CirrusSearchUserTesting": {
"value": []
},
"CirrusSearchActiveTest": {
"value": null
},
"CirrusSearchCompletionProfiles": {
"value": []
},
"CirrusSearchCompletionSettings": {
"value": "fuzzy"
},
"CirrusSearchUseIcuFolding": {
"value": "default"
},
"CirrusSearchICUNormalizationUnicodeSetFilter": {
"value": null
},
"CirrusSearchICUFoldingUnicodeSetFilter": {
"value": null
},
"CirrusSearchUseIcuTokenizer": {
"value": "default"
},
"CirrusSearchCompletionDefaultScore": {
"value": "quality"
},
"CirrusSearchUseCompletionSuggester": {
"value": "no"
},
"CirrusSearchCompletionSuggesterSubphrases": {
"value": {
"build": false,
"use": false,
"type": "anywords",
"limit": 10
}
},
"CirrusSearchCompletionSuggesterUseDefaultSort": {
"value": false
},
"CirrusSearchCompletionSuggesterHardLimit": {
"value": 50
},
"CirrusSearchRecycleCompletionSuggesterIndex": {
"value": true
},
"CirrusSearchEnableAltLanguage": {
"value": false
},
"CirrusSearchLanguageToWikiMap": {
"value": []
},
"CirrusSearchWikiToNameMap": {
"value": []
},
"CirrusSearchEnableCrossProjectSearch": {
"value": false
},
"CirrusSearchCrossProjectSearchBlockList": {
"value": []
},
"CirrusSearchInterwikiPrefixOverrides": {
"value": []
},
"CirrusSearchCrossProjectProfiles": {
"value": []
},
"CirrusSearchCrossProjectShowMultimedia": {
"value": false
},
"CirrusSearchNumCrossProjectSearchResults": {
"value": 5
},
"CirrusSearchInterwikiProv": {
"value": false
},
"CirrusSearchRescoreProfiles": {
"value": []
},
"CirrusSearchRescoreFunctionChains": {
"value": []
},
"CirrusSearchRescoreProfile": {
"value": "classic"
},
"CirrusSearchPrefixSearchRescoreProfile": {
"value": "classic"
},
"CirrusSearchInterwikiThreshold": {
"value": 3
},
"CirrusSearchLanguageDetectors": {
"value": []
},
"CirrusSearchTextcatModel": {
"value": []
},
"CirrusSearchTextcatConfig": {
"value": []
},
"CirrusSearchMasterTimeout": {
"value": "30s"
},
"CirrusSearchSanityCheck": {
"value": true
},
"CirrusSearchIndexBaseName": {
"value": "__wikiid__"
},
"CirrusSearchStripQuestionMarks": {
"value": "all"
},
"CirrusSearchFullTextQueryBuilderProfile": {
"value": "default"
},
"CirrusSearchFullTextQueryBuilderProfiles": {
"value": []
},
"CirrusSearchPrefixIds": {
"value": false
},
"CirrusSearchExtraBackendLatency": {
"value": 0
},
"CirrusSearchBoostTemplates": {
"value": []
},
"CirrusSearchIgnoreOnWikiBoostTemplates": {
"value": false
},
"CirrusSearchDevelOptions": {
"value": []
},
"CirrusSearchFiletypeAliases": {
"value": []
},
"CirrusSearchDocumentSizeLimiterProfile": {
"value": "default"
},
"CirrusSearchDocumentSizeLimiterProfiles": {
"value": []
},
"CirrusSearchMaxFileTextLength": {
"value": -1
},
"CirrusSearchElasticQuirks": {
"value": []
},
"CirrusSearchExtraIndexSettings": {
"value": []
},
"CirrusSearchIndexDeletes": {
"value": false
},
"CirrusSearchEnableArchive": {
"value": false
},
"CirrusSearchInterleaveConfig": {
"value": null
},
"CirrusSearchMaxPhraseTokens": {
"value": null
},
"CirrusSearchCategoryEndpoint": {
"value": ""
},
"CirrusSearchCategoryDepth": {
"value": 5
},
"CirrusSearchCategoryMax": {
"value": 1000
},
"CirrusSearchNamespaceResolutionMethod": {
"value": "elastic"
},
"CirrusSearchWMFExtraFeatures": {
"description": "Configuration for Wikimedia-spexific extra features.\n\n* weighted_tags: multi purpose tag search.\n** build: include in the index definition",
"value": {
"weighted_tags": {
"build": false,
"use": false
}
}
},
"CirrusSearchCompletionBannedPageIds": {
"description": "Set of page ids to never return in completion search",
"value": []
},
"CirrusSearchAutomationUserAgentRegex": {
"description": "Regular expression used to identify http user agents of automated requests",
"value": null
},
"CirrusSearchAutomationCIDRs": {
"description": "List of CIDR strings used to identify automated requests",
"value": []
},
"CirrusSearchCustomPageFields": {
"description": "Defines additional custom fields for page indexes",
"value": []
},
"CirrusSearchExtraFieldsInSearchResults": {
"description": "Defines extra fields to add to each result",
"value": []
},
"CirrusSearchEnableIncomingLinkCounting": {
"description": "Enables queries used for counting of incoming links. Disable if an external service is updating these.",
"value": true
},
"CirrusSearchDeduplicateAnalysis": {
"description": "[experimental] Deduplicate index analysis chains",
"value": false
},
"CirrusSearchUseEventBusBridge": {
"description": "Emit page-rerenders events via EventBus (requires EventBus)",
"value": false
},
"CirrusSearchDeduplicateInQuery": {
"description": "Exclude duplicate results a priori by filtering based on 'local_sites_with_dupe'",
"value": true
},
"CirrusSearchDeduplicateInMemory": {
"description": "Exclude duplicate results afterwards in memory",
"value": false
},
"CirrusSearchNaturalTitleSort": {
"description": "Configure the optional title_natural_{asc,desc} sort orders",
"value": {
"build": false,
"use": false
}
}
},
"SearchMappings": {
"CirrusSearch": {
"class": "CirrusSearch\\CirrusSearch"
}
},
"ServiceWiringFiles": [
"includes/ServiceWiring.php"
],
"load_composer_autoloader": true,
"manifest_version": 2
}