36 private static $BACKEND_NULL_PARAM =
'database-backed';
65 if ( $isScrollable ) {
73 $searchConfig = MediaWikiServices::getInstance()->getSearchEngineConfig();
74 $alternatives = $searchConfig->getSearchTypes();
75 if ( count( $alternatives ) > 1 ) {
76 if ( $alternatives[0] ===
null ) {
104 $searchEngine = MediaWikiServices::getInstance()->newSearchEngine();
106 foreach ( $configs as $paramName => $paramConfig ) {
107 $profiles = $searchEngine->getProfiles( $paramConfig[
'profile-type'],
115 $defaultProfile =
null;
116 foreach ( $profiles as $profile ) {
117 $types[] = $profile[
'name'];
118 if (
isset( $profile[
'desc-message'] ) ) {
119 $helpMessages[$profile[
'name']] = $profile[
'desc-message'];
121 if ( !empty( $profile[
'default'] ) ) {
122 $defaultProfile = $profile[
'name'];
153 if (
$type === self::$BACKEND_NULL_PARAM ) {
156 $searchEngine = MediaWikiServices::getInstance()->getSearchEngineFactory()->create(
$type );
158 $searchEngine->setNamespaces(
$params[
'namespace'] );
159 $offset =
$params[
'offset'] ??
null;
160 $searchEngine->setLimitOffset( $limit, $offset );
164 foreach ( $configs as $paramName => $paramConfig ) {
166 $searchEngine->setFeatureData(
167 $paramConfig[
'profile-type'],
173 $searchEngine = MediaWikiServices::getInstance()->newSearchEngine();
175 return $searchEngine;
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two and(2) offer you this license which gives you legal permission to copy
buildSearchEngine(array $params=null)
Build the search engine to use.
buildCommonApiParams( $isScrollable=true)
The set of api parameters that are shared between api calls that call the SearchEngine.
buildProfileApiParam()
Build the profile api param definitions.
const PARAM_REQUIRED
(boolean) Is the parameter required?
const PARAM_MAX2
(integer) Max value allowed for the parameter for users with the apihighlimits right,...
const PARAM_MAX
(integer) Max value allowed for the parameter, for PARAM_TYPE 'integer' and 'limit'.
const PARAM_TYPE
(string|string[]) Either an array of allowed value strings, or a string type as described below.
const PARAM_DFLT
(null|boolean|integer|string) Default value of the parameter.
const PARAM_HELP_MSG_PER_VALUE
((string|array|Message)[]) When PARAM_TYPE is an array, this is an array mapping those values to $msg...
const PARAM_MIN
(integer) Lowest value allowed for the parameter, for PARAM_TYPE 'integer' and 'limit'.
const LIMIT_BIG1
Fast query, standard limit.
const PARAM_HELP_MSG
(string|array|Message) Specify an alternative i18n documentation message for this parameter.
const LIMIT_BIG2
Fast query, apihighlimits limit.
const PARAM_ISMULTI
(boolean) Accept multiple pipe-separated values for this parameter (e.g.
trait SearchApi
Traits for API components that use a SearchEngine.
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))