▼NCirrusSearch | A fallback method is a way to interact (correct/fix/suggest a better query) with the search results |
►NApi | |
CConfigDump | Dumps CirrusSearch configuration for easy viewing |
CMappingDump | Dumps CirrusSearch mappings for easy viewing |
CProfilesDump | Dumps CirrusSearch profiles for easy viewing |
CQueryBuildDocument | Generate CirrusSearch document for page |
CQueryCirrusDoc | Dump stored CirrusSearch document for page |
CQueryCompSuggestBuildDoc | |
CSettingsDump | Dumps CirrusSearch mappings for easy viewing |
CSuggestIndex | Update ElasticSearch suggestion index |
►NAssignment | |
CClusterAssignment | |
CConstantAssignment | |
CMultiClusterAssignment | |
►NBuildDocument | |
►NCompletion | |
CDefaultSortSuggestionsBuilder | Extra builder that appends the defaultsort value to suggest and suggest-stop inputs on title suggestions |
CExtraSuggestionsBuilder | Extra builder for the completion suggester index |
CIncomingLinksScoringMethod | Very simple scoring method based on incoming links |
CNaiveSubphrasesSuggestionsBuilder | Simple class for SuggestionsBuilder that needs to munge the title into a list of "subphrases" suggestions |
CPQScore | Score that combines QualityScore and the pageviews statistics (popularity) |
CQualityScore | Score that tries to reflect the quality of a page |
CSuggestBuilder | Build a doc ready for the titlesuggest index |
CSuggestScoringMethod | Scoring methods used by the completion suggester |
CSuggestScoringMethodFactory | Create certain suggestion scoring method, by name |
CBuildDocument | Orchestrate the process of building an elasticsearch document out of a WikiPage |
CBuildDocumentException | Exception thrown while building a document for indexing |
CDefaultPageProperties | Default properties attached to all page documents |
CPagePropertyBuilder | Interface for building subsets of the document stored in elasticsearch to represent individual wiki pages |
CParserOutputPageProperties | Extract searchable properties from the MediaWiki ParserOutput |
CRedirectsAndIncomingLinks | Adds redirects and incoming links to the documents |
►NDispatch | |
CBasicSearchQueryRoute | Basic SearchQuery routing functionality which produces a constant score when successful, 0.0 otherwise |
CCirrusDefaultSearchQueryRoute | Cirrus default routes |
CDefaultSearchQueryDispatchService | |
CSearchQueryDispatchService | The Search query dispatch service |
CSearchQueryRoute | For a given search engine entry point a SearchQueryRoute evaluates a particular SearchQuery and assign it a score |
►NElastica | Implementation of "sltr" query from ltr-query plugin |
CDeprecationLoggedHttp | |
CDeprecationLoggedHttps | |
CES6CompatTransportWrapper | Painful hack that rewrites all bulk requests by attaching the "_type": "_doc" param to all operations as it's mandatory with elasticsearch6 |
CHealth | Overrides Elastica's Health class to allow filtering by index |
CLtrQuery | |
CReindexRequest | |
CReindexResponse | |
CReindexStatus | |
CReindexTask | |
►NExtra | |
►NQuery | |
CSourceRegex | Source regex filter for trigram accelerated regex matching |
CTermFreq | Filtering based on integer comparisons on the frequency of a term |
CTokenCountRouter | TokenCountRouter query used to trigger a particular query by counting the number of tokens in the user query |
►NFallbacks | |
CElasticSearchRequestFallbackMethod | A fallback method that is able to attach a complete search query to the main msearch request |
CElasticSearchSuggestFallbackMethod | Interface for fallback methods that uses Elasticsearch suggest attached to the main query |
CFallbackMethod | |
CFallbackRunner | |
CFallbackRunnerContext | Context storing the states of the FallbackRunner |
CFallbackRunnerContextImpl | Basic implementation of a FallbackRunnerContext |
CFallbackStatus | Representation of the result of running a FallbackMethod |
CIndexLookupFallbackMethod | |
CLangDetectFallbackMethod | |
CPhraseSuggestFallbackMethod | Fallback method based on the elastic phrase suggester |
CSearcherFactory | |
►NHooks | |
CCustomPageFields | Hooks to allow custom fields to be added to the search index for pages |
►NIterator | |
CCallbackIterator | Applies a callback to all values returned from the iterator |
CIteratorDecorator | Allows extending classes to decorate an Iterator with reduced boilerplate |
►NJob | |
CCheckerJob | Job wrapper around Sanity\Checker |
CCirrusGenericJob | CirrusSearch Job that is not bound to a Title |
CCirrusTitleJob | CirrusSearch Job that is bound to a Title |
CDeleteArchive | Job wrapper for deleting pages from archive |
CDeletePages | Job wrapper around Updater::deletePages |
CElasticaDocumentsJsonSerde | Updates to be sent to elasticsearch need to be represented as a Document object, but we can't directly serialize those into the job queue which only supports json |
CElasticaWrite | Performs writes to elasticsearch indexes with requeuing and an exponential backoff (if supported by jobqueue) when the index writes fail |
CIncomingLinkCount | Updates link counts to page when it is newly linked or unlinked |
CLinksUpdate | Performs the appropriate updates to Elasticsearch after a LinksUpdate is completed |
CMassIndex | Job wrapper around Updater::updatePages |
COtherIndex | Job wrapper around OtherIndexes |
►NLanguageDetector | |
CDetector | Interface for a language detector class |
CLanguageDetectorFactory | |
CTextCat | Try to detect language with TextCat text categorizer |
►NMaintenance | |
►NException | |
CIndexDumperException | An error that occurred while writing to the dump |
►NValidators | |
CAnalyzersValidator | |
CIndexAliasValidator | |
CIndexAllAliasValidator | |
CMappingValidator | |
CMaxShardsPerNodeValidator | |
CNumberOfShardsValidator | |
CReplicaRangeValidator | |
CShardAllocationValidator | |
CSpecificAliasValidator | |
CValidator | |
CAnalysisConfigBuilder | Builds elasticsearch analysis config arrays |
CAnalysisFilter | Filter unused and duplicate entries from elasticsearch index configuration |
CAnalyzerBuilder | Builds one elasticsearch analyzer to add to an analysis config array |
CArchiveMappingConfigBuilder | |
CCheckIndexes | |
CChunkBuilder | Splits maintenance scripts into chunks and prints out the commands to run the chunks |
CCirrusNeedsToBeBuilt | |
CConfigUtils | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version |
CCopySearchIndex | Update the elasticsearch configuration for this index |
CDumpIndex | Dump an index from elasticsearch |
CExpectedIndices | Reports index aliases that CirrusSearch owns for this wiki |
CForceSearchIndex | |
CIndexCreator | |
CIndexNamespaces | |
CIndexTemplateBuilder | |
CMaintenance | Cirrus helpful extensions to Maintenance |
CMappingConfigBuilder | Builds elasticsearch mapping configuration arrays |
CMetastore | |
CNullPrinter | |
CPrinter | |
CReindexer | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version |
CRunSearch | |
CSaneitize | |
CSaneitizeJobs | |
CSaneitizeLoop | Create saneitize jobs for a single execution of a saneitizer loop |
CSet | Simple set implementation so it's clear what the array is being used for when values are only stored as keys |
CSuggesterAnalysisConfigBuilder | Builds elasticsearch analysis config arrays for the completion suggester index |
CSuggesterMappingConfigBuilder | Builds elasticsearch mapping configuration arrays for the suggester index |
CUpdateDYMIndexTemplates | Update the elasticsearch configuration for this index |
CUpdateOneSearchIndexConfig | Update the elasticsearch configuration for this index |
CUpdateSearchIndexConfig | Update the elasticsearch configuration for this index |
CUpdateSuggesterIndex | |
CUpdateWeightedTags | |
►NMetaStore | |
CMetaNamespaceStore | |
CMetaSaneitizeJobStore | |
CMetaStore | A component of the metastore index |
CMetaStoreIndex | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version |
CMetaVersionStore | |
►NParser | |
►NAST | |
►NVisitor | |
CKeywordNodeVisitor | Simple KeywordFeatureNode visitor |
CLeafVisitor | Visit leaves only |
CQueryFixer | Inspect a query and determine what parts of it can be sent to a typo correction mechanism and provide a method to fix the query once the corrected substring is known |
CVisitable | "Visitable" node from the AST |
CVisitor | AST Visitor |
CBooleanClause | A boolean clause |
CEmptyQueryNode | Empty query node (we could not parse anything useful) |
CFuzzyNode | |
CKeywordFeatureNode | Represents a keyword in the query |
CNamespaceHeaderNode | A "namespace header" in the query |
CNegatedNode | Negated node NOTE: may not appear in any resulting query AST, NegatedNode are always removed and attached to a BooleanClause as MUST_NOT |
CParsedBooleanNode | A boolean expression |
CParsedNode | Base class representing a "node" in the query AST |
CParsedQuery | Parsed query |
CParseWarning | A warning that occurred during the parse process |
CPhrasePrefixNode | A phrase prefix |
CPhraseQueryNode | A phrase |
CPrefixNode | A simple word prefix query |
CWildcardNode | Wildcard query |
CWordsQueryNode | Simple query node made of words |
►NQueryStringRegex | |
CKeywordParser | Parser for KeywordFeature |
CNonPhraseParser | Parse non-phrase query parts |
COffsetTracker | Simple class to track offsets Supports only simple cases (no support for overlapping offsets) |
CPhraseQueryParser | Detects phrase queries: "simple phrase" : use the plain fields "simple phrase"~ : use the stem fields "simple phrase"~2 : force the slop to be 2 "simple phrase"~2~ : force the slop to be 2 and use the stem fields |
CQueryStringRegexParser | Full text query parser that uses regex to parse its token |
CSearchQueryParseException | |
CToken | A token used in parsing the cirrus fulltext syntax |
CBasicQueryClassifier | Basic classifier to identify queries like: |
CFTQueryClassifiersRepository | Repository of query classifiers |
CFullTextKeywordRegistry | Registry of keywords suited for fulltext searches |
CKeywordRegistry | Registry of KeywordFeature |
CNamespacePrefixParser | |
CParsedQueryClassifier | |
CParsedQueryClassifierException | Problem related to ParsedQueryClassifier |
CParsedQueryClassifiersRepository | Repository of query classifiers |
CQueryParser | Query parser |
CQueryParserFactory | Simple factory to create QueryParser instance based on the host wiki config |
►NProfile | |
CArrayPathSetter | Transforms arrays based on replacement variable using a syntax to lookup the entry to modify |
CArrayProfileRepository | Simple profile repository backed by a PHP array |
CCompletionSearchProfileRepository | Repository dedicated to completion queries This one cannot simply use existing implementation because we need to filter the profiles based on the availability of some fields in the index |
CConfigProfileRepository | Profile repository backed by a Config object |
CConfigSearchProfileOverride | Overrider that gets its name using an entry in a Config object |
CContextualProfileOverride | Overrider that generates a name from a template and contextual information from the profile request |
CPhraseSuggesterProfileRepoWrapper | Wrapper to augment the phrase suggester profile settings with customization on-wiki using system messages |
CSearchProfileException | Error occurring while managing search profiles |
CSearchProfileOverride | Override the default profile |
CSearchProfileRepository | A repository of search profiles |
CSearchProfileRepositoryTransformer | Transforms profile content based on a transformer implementation |
CSearchProfileService | Service to manage and access search profiles |
CSearchProfileServiceFactory | Default factory to build and prepare search profiles |
CSearchProfileServiceFactoryFactory | |
CStaticProfileOverride | |
CUriParamSearchProfileOverride | |
CUserPrefSearchProfileOverride | Overrider based on user preference |
►NQuery | |
►NBuilder | |
CContextualFilter | A filter added as context to the search query |
CFilterBuilder | Build a filter |
CQueryBuildingContext | WIP: figure out what we need when building certainly some states built by some keyword or some classification of the query |
CArticleTopicFeature | |
CBaseRegexFeature | Base class supporting regex searches |
CBoostFunctionFeature | |
CBoostTemplatesFeature | Handles the boost-templates keyword in full text search |
CCompSuggestQueryBuilder | Suggest (Completion) query builder |
CContentModelFeature | Content model feature: contentmodel:wikitext Selects only articles having this content model |
CCountContentWordsBuilder | Build a query to sum up the word count of all articles |
CDeepcatFeature | Filters by category or its subcategories |
CFileNumericFeature | File features: filebits:16 - bit depth filesize:>300 - size >= 300 kb filew:100,300 - search of 100 <= file_width <= 300 Selects only files of these specified features |
CFileTypeFeature | File type features: filetype:bitmap Types can be OR'd together: filetype:bitmap|png Selects only files of these specified features |
CFilterQueryFeature | A KeywordFeature that generates an elasticsearch query used as a filter |
CFullTextQueryBuilder | Parse a cirrus fulltext search query and build an elasticsearch query |
CFullTextQueryStringQueryBuilder | Builds an Elastica query backed by an elasticsearch QueryString query Has many warts and edge cases that are hardly desirable |
CFullTextSimpleMatchQueryBuilder | Simple Match query builder, currently based on FullTextQueryStringQueryBuilder to reuse its parsing logic |
CHasRecommendationFeature | Filters the result set based on the existing article recommendation |
CHasTemplateFeature | We emulate template syntax here as best as possible, so things in NS_MAIN are prefixed with ":" and things in NS_TEMPATE don't have a prefix at all |
CHighlightingFeature | Keywords willing to interact with the highlighting configuration should implement this interface |
CInCategoryFeature | Filters by one or more categories, specified either by name or by category id |
CInSourceFeature | Handles non-regexp version of insource: keyword |
CInTitleFeature | Applies a filter against the title field in elasticsearch |
CKeywordFeature | Definition of a search keyword |
CLanguageFeature | Filters the result set based on pages labeled with the provided language |
CLegacyKeywordFeature | Legacy keyword markup interface for keywords that still work by manipulating the SearchContext |
CLinksToFeature | Filters the result set based on pages containing outgoing wiki links to the provided page title |
CLocalFeature | Limits the search to the local wiki |
CMoreLikeFeature | Finds pages similar to another one |
CMoreLikeThisFeature | Finds pages similar to another one |
CNearMatchQueryBuilder | Build a query suited for exact title/redirect match |
CPageIdFeature | Filter by a set of page IDs |
CPreferRecentFeature | Matches "prefer-recent:" and then an optional floating point number <= 1 but >= 0 (decay portion) and then an optional comma followed by another floating point number >0 0 (half life) |
CPrefixFeature | Handles the prefix: keyword for matching titles |
CPrefixSearchQueryBuilder | Build a query suited for autocomplete on titles+redirects |
CQueryHelper | Helpers for building queries |
CSimpleKeywordFeature | Implements abstract handling of keyword features that are composed of a keyword followed by a colon then an optionally quoted value |
CSubPageOfFeature | Subpagesof, find subpages of a given page uses the prefix field, very similar to the prefix except that it enforces a trailing / and is not a greedy keyword |
CTextFieldFilterFeature | Feature for filtering on specific text fields |
►NSanity | |
CAllClustersQueueingRemediator | Remediator that forwards all actions to all writable clusters using the 'cluster' => null optimization |
CBufferedRemediator | A remediator that simply records all actions scheduled to it |
CChecker | Checks if a WikiPage's representation in search index is sane |
CCheckerException | Exception thrown while checking sanity of the index vs the database |
CMultiClusterRemediatorHelper | Helper to maintain the association with Remediators and theirs corresponding BufferedRemediator |
CNoopRemediator | Remediator that takes no actions |
CPrintingRemediator | Decorating Remediator that logs the prints the errors |
CQueueingRemediator | Remediator implementation that queues jobs to fix the index |
CRemediator | Remediation actions for insanity in the search index |
►NSearch | |
►NFetch | |
CBaseHighlightedField | |
CExperimentalHighlightedFieldBuilder | |
CFetchPhaseConfigBuilder | Class holding the building state of the fetch phase elements of an elasticsearch query |
CHighlightedField | |
CHighlightFieldGenerator | |
►NRescore | |
CBoostedQueriesFunction | Simple list of weighted queries |
CBoostFunctionBuilder | |
CBoostTemplatesFunctionScoreBuilder | Builds a set of functions with boosted templates Uses a weight function with a filter for each template |
CByKeywordTemplateBoostFunction | |
CCustomFieldFunctionScoreBuilder | Builds a function using a custom numeric field and parameters attached to a profile |
CFunctionScoreBuilder | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version |
CFunctionScoreChain | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version |
CFunctionScoreDecorator | This is useful to check if the function score is empty Function score builders may not add any function if some criteria are not met |
CGeoMeanFunctionScoreBuilder | Utility function to compute a weighted geometric mean |
CIncomingLinksFunctionScoreBuilder | Builds a function that boosts incoming links formula is log( incoming_links + 2 ) |
CInvalidRescoreProfileException | Exception thrown if an error has been detected in the rescore profiles |
CLangWeightFunctionScoreBuilder | Boosts documents in user language and in wiki language if different Uses getUserLanguage in SearchConfig and LanguageCode for language values and CirrusSearchLanguageWeight['user'|'wiki'] for respective weights |
CLogMultFunctionScoreBuilder | Simple log(factor*field+2)^impact Useful to control the impact when applied in a multiplication |
CLogScaleBoostFunctionScoreBuilder | Normalize values in the [0,1] range Allows to set: |
CNamespacesFunctionScoreBuilder | Builds a set of functions with namespaces |
CPreferRecentFunctionScoreBuilder | Builds a script score boost documents on the timestamp field |
CRescoreBuilder | Set of rescore builders |
CSatuFunctionScoreBuilder | Saturation function based on x/(k+x), k is a parameter to control how fast the function saturates |
CScriptScoreFunctionScoreBuilder | A function score that builds a script_score |
CTermBoostScoreBuilder | |
CArrayCirrusSearchResult | |
CBaseCirrusSearchResultSet | Base class to represent a CirrusSearchResultSet Extensions willing to feed Cirrus with a CirrusSearchResultSet must extend this class |
CBaseResultsType | Base class for result type implementations |
CBooleanIndexField | |
CCirrusIndexField | Basic ElasticSearch index field |
CCirrusSearchIndexFieldFactory | Create different types of SearchIndexFields |
CCirrusSearchResult | Base class for SearchResult |
CCirrusSearchResultBuilder | Helper class to build ArrayCirrusSearchResult instances |
CCirrusSearchResultSet | |
CCompletionResultsCollector | Collect results from multiple result sets |
CCompositeCrossProjectBlockScorer | Composite, weighted sum of a list of subscorers |
CCrossProjectBlockScorer | Score an interwiki block |
CCrossProjectBlockScorerFactory | Factory that reads cirrus config and builds a CrossProjectBlockScorer |
CDatetimeIndexField | |
CEmptySearchResultSet | |
CEscaper | Escapes queries |
CFancyTitleResultsType | Returns titles categorized based on how they matched - redirect or name |
CFilters | Utilities for dealing with filters |
CFullTextCirrusSearchResultBuilder | |
CFullTextResultsType | Result type for a full text search |
CIntegerIndexField | |
CInterleavedResultSet | |
CKeywordIndexField | |
CMSearchRequests | Holds the Elastic search requests meant to be sent to the _msearch endpoint |
CMSearchResponses | Holds the Elastica result sets returned by Elastic when issuing search requests |
CNestedIndexField | |
CNumberIndexField | |
COpeningTextIndexField | |
CRandomCrossProjectBlockScorer | Randomly ordered but consistent for a single user |
CRecallCrossProjectBlockScorer | Score based on total hits : log(total_hits + 2) |
CResult | An individual search result from Elasticsearch |
CResultSet | A set of results from Elasticsearch |
CResultsType | Lightweight classes to describe specific result types we can return |
CSearchContext | The search context, maintains the state of the current search query |
CSearchMetricsProvider | |
CSearchQuery | A search query, it contains all the necessary information to build and send a query to the backend |
CSearchQueryBuilder | Builder for SearchQuery |
CSearchRequestBuilder | Build the search request body |
CShortTextIndexField | |
CSingleAggResultsType | Result type for aggregations |
CSourceTextIndexField | |
CStaticCrossProjectBlockScorer | Based on a static config, allows to give a fixed score to a particular wiki |
CTeamDraftInterleaver | Implementation of algorithm 2, Team-Draft Interleaving, from F |
CTextIndexField | |
CTitleHelper | Utility class build MW Title from elastica Result/ResultSet classes This class can be used in all classes that need to build a Title by reading the elasticsearch output |
CTitleResultsType | Returns titles and makes no effort to figure out how the titles matched |
►NWikimedia | |
CWeightedTags | |
CWeightedTagsHooks | |
CBaseInterwikiResolver | Base InterwikiResolver class |
CBaseRequestLog | |
CBulkUpdateRequestLog | Request log for requests that update the elasticsearch cluster |
CCirrusConfigInterwikiResolver | InterwikiResolver suited for custom cirrus config: |
CCirrusDebugOptions | Cirrus debug options generally set via unofficial URI param (&cirrusXYZ=ZYX) |
CCirrusSearch | SearchEngine implementation for CirrusSearch |
CCirrusSearchHookRunner | |
CCirrusSearchServices | A simple wrapper for MediaWikiServices, to support type safety when accessing services defined by this extension |
CClusterSettings | Handles resolving configuration variables into specific settings for a specific cluster |
CCompletionRequestLog | |
CCompletionSuggester | Performs search as you type queries using Completion Suggester |
CConnection | Forms and caches connection to Elasticsearch as well as client objects that contain connection information like \Elastica\Index and \Elastica\Type |
CCrossSearchStrategy | Defines support strategies regarding cross wiki searches |
CDataSender | Handles non-maintenance write operations to the elastic search cluster |
CDump | Action=cirrusDump handler |
CElasticaErrorHandler | Generic functions for extracting and reporting on errors/exceptions from Elastica |
CElasticsearchIntermediary | Base class with useful functions for communicating with Elasticsearch |
CEmptyInterwikiResolver | |
CExplainPrinter | Formats the result of elasticsearch explain to a (slightly) more readable html format than raw json |
CExternalIndex | Represents an external index referenced by the OtherIndex functionality |
CHashSearchConfig | SearchConfig implemenation backed by a simple \HashConfig |
CHooks | All CirrusSearch's external hooks |
CInterwikiResolver | Retrieve Interwiki information |
CInterwikiResolverFactory | Factory class used to create InterwikiResolver |
CInterwikiSearcher | Performs searches using Elasticsearch – on interwikis! |
CMultiSearchRequestLog | Extending from SearchRequestLog doesn't quite feel right, but there is a good amount of shared code |
CNearMatchPicker | Picks the best "near match" title |
CNoActiveTestException | Thrown when a user testing method is called that requires an active test, but no test was active |
COtherIndexesUpdater | Tracks whether a Title is known on other indexes |
CRequestLog | Represents logging information for a single network operation made between php and elasticsearch |
CRequestLogger | Handles logging information about requests made to various destinations, such as monolog, EventBus and statsd |
CSearchConfig | Configuration class encapsulating Searcher environment |
CSearcher | Performs searches using Elasticsearch |
CSearchRequestLog | |
CSiteMatrixInterwikiResolver | InterwikiResolver suited for WMF context and uses SiteMatrix |
CUpdater | Performs updates and deletes on the Elasticsearch index |
CUserTestingEngine | Decision making around user testing |
CUserTestingStatus | Reports UserTesting bucketing decision |
CUtil | Random utility functions that don't have a better home |
CVersion | Fetch the Elasticsearch version |
CWarningCollector | Warning collector interface |