wikimedia/mediawiki-extensions-CirrusSearch

View on GitHub
extension.json

Summary

Maintainability
Test Coverage
{
    "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
}