Help:CirrusSearch/fr

La méthode la plus rapide pour trouver une information dans les projets MediaWiki est de la rechercher directement. Sur chacune des pages figure une boîte .

CirrusSearch est une extension pour MediaWiki qui utilise Elasticsearch pour ajouter des fonctionnalités de recherche avancée à l’outil de recherche de MediaWiki par défaut. La Fondation Wikimédia utilise CirrusSearchtttt no nnnn ..…6?55 h pour tous les projets Wikimédia. Cette page décrit les fonctionnalités de CirrusSearch. Si votre question ne trouve pas de réponse ici, n’hésitez pas à la poser sur la page de discussion et on vous répondra.

Pour obtenir des informations sur l’extension MediaWiki, consultez.

Comment ça marche ?
Entrez des mots-clés et expressions, puis appuyez sur la touche Entrée ou Retour de votre clavier. Ou cliquez sur l’icône de loupe, sur Rechercher ou sur le bouton Go. Si une page a pour titre ce que vous avez saisi, vous serez dirigé vers cette page. Sinon, toutes les pages du wiki sont cherchées et il apparait une liste de pages qui correspondent à vos termes de recherche, ou bien un message précisant qu'aucune page ne contient tous les mots clé et les expressions.

Si vous cliquez sur le bouton « » sans rien renseigner, vous serez redirigé vers Special:Search qui vous apportera des options de recherche supplémentaires (disponibles également depuis toute liste de résultats de recherche)

Il est possible que vous trouviez utile de restreindre la recherche aux pages d'un certain espace de noms par exemple, seulement les pages. Vérifiez les espaces de noms que vous voulez spécifier pour cette recherche.

Quelles sont les améliorations ?
CirrusSearch apporte trois améliorations principales à l’outil de recherche par défaut de MediaWiki, à savoir :


 * Une meilleure prise en charge de la recherche dans les différentes langues.
 * Des mises à jour plus rapides pour l’indexation, ce qui veut dire que les changements dans les pages sont visibles plus rapidement dans les résultats de recherche.
 * Le développement des modèles, ce qui signifie que le rendu des modèles est pris en compte par la recherche.

À quelle fréquence l’index de recherche est-il mis à jour ?
La mise à jour de l'indexation est réalisée presque en temps réel. Les modifications des pages devraient être immédiatement visibles dans les résultats de recherche. Les modifications apportées aux modèles devraient être visibles dans les articles qui les incluent au bout de quelques minutes. Les modifications des modèles passent par la file d’attente des travaux ; les performances sont donc variables. Une modification nulle de l’article forcera la mise à jour, mais cette opération ne devrait pas être nécessaire si tout fonctionne correctement.

Suggestions de recherche
Les suggestions de recherche qui s’affichent en dessous de la zone où vous saisissez votre recherche sont triées grossièrement en fonction de la qualité des articles. Cela prend en compte le nombre de liens wiki entrants, la taille de la page, le nombre de liens externes, le nombre de sections et le nombre de redirections. Les suggestions de recherche peuvent être sautées et les requêtes iront directement à la page des résultats de recherche. Ajouter un tilde  avant la requête. Par ex. « ~Frida Kahlo ». Les suggestions de recherche apparaîtront encore, mais en appuyant sur la touche Entrée à tout instant vous irez à la page des résultats.

Les accents et le repli diacritique sont activés pour certaines langues; les détails sont fonction de la langue.

Recherche de texte complet
Une « recherche de texte complet » est une « recherche indexée ». Toutes les pages sont stockées dans la base de données du wiki, et tous les mots des pages non redirigées sont stockés dans la base de données de recherche, formant un index vers pratiquement le texte complet du wiki. Tout mot visible est indexé à la liste des pages où il est trouvé, de sorte que la recherche d’un mot soit aussi rapide que la consultation d’un seul enregistrement. De plus, pour tout changement dans la formulation, l’index de recherche est mis à jour en quelques secondes.

Il existe de nombreux index du « texte complet » du wiki afin d’optimiser les nombreux types de recherches pris en charge. Le wikitexte complet est indexé de nombreuses fois dans de nombreux index à objectif spécifique, chacun d’entre eux parcourant le wikitexte de la manière qui lui est la plus profitable. Exemples d’index :


 * Texte « auxiliaire », incluant les en-têtes (redirections par exemple), les légendes des objets, le sommaire, et tout wikitexte classé avec un attribut HTML class=searchaux.
 * Texte « d'introduction », wikitexte se situant entre le haut de la page et le premier titre de section.
 * Le texte « catégorie » indexe les listes présentées en pied de page.
 * Les modèles sont indexés. Si les mots transclus d’un modèle changent, toutes les pages qui le transcluent sont alors mises à jour (cela peut prendre du temps selon la file de traitement). Si les sous-modèles utilisés par un modèle changent, l’index est également mis à jour.
 * Le contenu des documents stockés dans l’espace de noms File/Media sont dorénavant indexés. Des milliers de formats sont reconnus.

Des dizaines de langues sont supportées mais il est projeté de prendre en charge toutes les langues à terme. Il y a une liste des langues actuellement supportées sur elasticsearch.org ; voir leur documentation pour savoir comment contribuer en soumettant des requêtes et des patchs. Les librairies tierces à source ouvert sont aussi utilisées pour prendre en charge les langues supplémentaires non couvertes par Elasticsearch.

CirrusSearch optimisera votre requête et l’exécutera. Les titres résultants sont pondérés selon leur pertinence, et fortement post-traités, par 20 à la fois, pour la page des résultats de recherche. Ainsi des extraits sont fournis, et les termes de recherche sont mis en gras.

Les résultats de recherche seront souvent accompagnés par diverses indications préliminaires, telles que « Vouliez-vous dire » (correction orthographique), et, lorsqu’il n’y a aucun résultat pour les termes recherchés, « Résultats affichés pour » (corriger la requête) et « A la place, afficher les résultats pour » (votre requête).

Les fonctionnalités de recherche incluent également :


 * Trier les suggestions de navigation en fonction du nombre de liens entrants.
 * Commencer par le caractère  pour désactiver la navigation et les suggestions de manière à préserver également le classement (ranking) des pages.
 * Correspondance intelligente des caractères en normalisant (ou « pliant ») les caractères qui ne sont pas sur le clavier, en caractères basiques du clavier.
 * Les mots et expressions qui correspondent sont mis en valeur en gras sur la page des résultats de recherche. La mise en valeur est issue de l'analyseur cosmétique, en supplément de l’analyseur d’indexation dont le rôle est de trouver les pages et la mise en valeur de la recherche peut ne pas être toujours 100 % synchronisée (dans l’extrait) avec ce que la recherche va retourner. Et ceci est particulièrement vrai quand on utilise des expressions régulières. La mise en valeur peut correspondre plus ou moins aux résultats de l'indexeur.

Mots, expressions et modificateurs
Le terme de recherche élémentaire est un mot ou une "expression entre guillemets". Les détails dépendent de la langue, particulièrement pour les langues sans espaces, mais search reconnait typiquement un mot comme étant :


 * une suite de chiffres,
 * une suite de lettres,
 * des morceaux de mots séparés par des lettres ou chiffres, comme dans txt2regex ,
 * des morceaux de mots à l’intérieur d’un nomComposé utilisant camelCase.

Un « mot d’arrêt » est un mot ignoré (parce qu’il est trop commun ou pour d’autres raisons). La liste des mots d'arrêt dépend de la langue et toutes les langues n'utilisent pas les mots d'arrêt. Un terme de recherche donné est recherché dans le contenu (rendu affiché de la page). Si vous voulez rechercher plutôt dans le wikicode, il faut utiliser le paramètre de recherche insource (voir la section plus bas). Chaque paramètre de le recherche possède son propre index et interprète le terme recherché de sa propre manière.

Les séparations entre les mots, les phrases, les paramètres et les valeurs de paramètres peuvent inclure de nombreux types d’espaces et de « caractères gris ». Les « caractères gris » sont tous les caractères non-alphanumériques ~!@#$%^&_+-={}|[]\:";'<>?,./ . Un mélange entre caractères gris et espaces donne des « espaces gris », qui sont traités comme des grosses séparation entre les mots. L’espace gris correspond à la manière dont les index sont réalisés et les recherches sont interprétées.

On note deux exceptions : Pour le reste, les caractères gris sont ignorés, à moins qu’en raison de la syntaxe de la requête, ils soient interprétés comme des modificateurs.
 * 1) embedded:colon est un mot (il est traité comme une lettre) ;
 * 2) une virgule intégrée, comme dans 1,2,3 , est traitée comme un nombre.

Les modificateurs sont ~ * \? - " ! . Selon leur position dans la syntaxe, ils peuvent s’appliquer à un terme, à un paramètre ou à une requête entière. Les modificateurs de mots et d’expressions sont le métacaractère, la proximité et la recherche floue. Chaque paramètre peut avoir son propre modificateur, mais en général :


 * Une recherche de mot flou ou d’expression floue intègre un caractère tilde  en suffixe (et un nombre indiquant le degré).
 * Un tilde  préfixe le premier terme d’une requête pour forcer la recherche en empêchant toute redirection potentielle.
 * Un métacaractère à l’intérieur d’un mot est représenté par un point d’interrogation (échappé) \? pour un seul caractère, ou bien une astérisque * pour zero ou plusieurs caractères.
 * La logique de vérité peut interpréter les opérateurs AND et OR mais les paramètres ne le peuvent pas. Remarquez que les opérateurs AND et OR actuellement ne fonctionnent pas à la manière de la logique de vérité habituelle ! Pour les détails, voyez les opérateurs logiques.
 * La logique de vérité reconnait - ou ! lorsqu'ils préfixent un terme pour passer de l'habituel « contient le terme » à « exclure le terme ».


 * Les guillemets autour de plusieurs mots expriment la recherche d’une expression exacte. Dans les paramètres, ils sont aussi utilisés pour délimiter les groupes de plusieurs mots.
 * La recherche par radical est automatique mais peut être outrepassée en utilisant une expression exacte.

Une phrase à rechercher peut être entrée de diverses manières pour le moteur de recherche. Chaque méthode d’écriture a des effets de bord sur le niveau de tolérance de la correspondance entre la séquences de mots et les résultats. Pour les recherches de greyspace, camelCase ou txt2number :


 * si « words-joined_by_greyspace(characters) » ou « wordsJoinedByCamelCaseCharacters » sont entrés, words joined by, [...], characters seront recherchés séparément ou assemblés sous forme grisée.
 * « txt2number » retournera des résultats pour  et pour.
 * Les mots d’arrêt sont activés pour les mots aux extrémités (périphériques) d’une expression en greyspace ou en camelCase. Par exemple, l'utilisation de « the », « of » et « a » fait que « the_invisible_hand_of_a » correspond à  dans le texte.

Un message « Rechercher ... à la place » est affiché lorsqu'un mot totalement inconnu est ignoré dans la phrase.

Chacun de ces types de recherche de correspondance comprend et élargit les tolérances de recherche de celle qui précède :


 * Une "expression exacte" "entre guillemets" accepte les espaces gris. Les deux expressions "exact_phrase" ou "exact phrase" font bien apparaître  parmi les résultats.
 * Une expression_avec_espace_gris déclenche la recherche par radical et les vérifications de la présence de mot d'arrêt.
 * Si l'on tape CamelCase, cela affichera bien , en minuscules, parce que CirrusSearch n'est pas sensible à la casse. Notez que la correspondance de CamelCase n'est pas activée pour toutes les langues.

Certains paramètres acceptent les expressions avec espaces gris, mais d'autres paramètres, comme  n'acceptent que les "expressions entre guillemets".

Notez que toute recherche par radical ne tient pas compte de la casse.

Remarquez comment la recherche par expression exacte interprète le deux:points comme une lettre, mais pas le tiret_underscore. Un effet similaire est observable avec la virgule, dans un nombre.

Si vous passez, alors CirrusSearch quand il se trouve dans un contexte de phrase exacte, (qui inclut le contexte du paramètre insource), ne détectera pas  , ni  , ni  , mais ne   détectera que.

Sinon, rappelez vous que pour CirrusSearch les mots sont des lettres, des nombres ou une combinaison des deux, et que la casse n'a pas d'importance.

La recherche de mot communs emploie le caractère espace et est agressive avec la recherche par radical, et quand les mêmes mots sont joints par des caractères d'espace gris ou camelCase ils sont agressifs avec des phrases et des sous-mots.

Lorsque des mots communs comme "de" (of) ou "le" (the) sont inclus dans une phrase d'espace gris, ils sont ignorés, de manière à filtrer de manière plus agressive.

Un terme de recherche greyspace_phrase, ou un terme camelCase, ou un terme txt2number, correspond aux mots signifiés de manière interchangeable. Vous pouvez utiliser n'importe laquelle de ces trois formes. Maintenant camelcase correspond à camelCase parce que la recherche n'est pas sensible à la casse, mais camelCase correspond à camelcase parce que camelCase est plus agressif. Comme le reste de la recherche, les sous-mots qui sont des "mots" ne sont pas sensibles à la casse. Par comparaison, la "phrase exacte" est orientée espace gris et ignore les transitions numériques ou les transitions de casse, ainsi que la recherche par radical. Les phrases citées ne sont pas sensibles à la casse.

A partir de la table, nous pouvons supposer que la recherche de base parser_function -"parser function" est la somme des recherches de base  et de.

En faisant des recherches avec des nombres, nous pourrons donc trouver ceci :


 * Plan9 ou Plan_9 correspond à :,  ,  ,  ,
 * "plan9" ne correspond qu'à  (insensible à la casse)
 * Plan*9 correspond à  ou à.

Le caractère étoile de remplacement * correspond à une chaîne de lettres et de chiffres dans un mot rendu, mais jamais le caractère de début. Un ou plusieurs caractères, doivent précéder le caractère *.


 * Si * sont des nombres, la virgule est considérée comme faisant partie d'un nombre mais le point décimal est considéré comme un caractère gris d'espacement et délimite deux nombres.
 * Dans une phrase exacte * est traité comme un caractère gris d'espacement et non comme un caractère générique, il délimite donc deux mots.

Le caractère de remplacement \? représente une seule lettre ou un seul chiffre ; le *\? est également accepté, mais \?* n'est pas reconnu.

Les caractères génériques sont pour les mots de base, les phrases et les recherches dans les sources, et peuvent aussi être une alternative aux (certaines) recherches avancées d'expressions régulières (discuté ultérieurement).

Mettre un caractère tilde ~ après un mot ou une phrase active une recherche floue.


 * Pour une phrase, il s'agit d'une recherche d'approximation, car les mots approximatifs sont tolérés dans une phrase approximative plutôt que la phrase exacte.
 * Par exemple, "exact one two phrase"~2 correspond à.
 * Pour un mot, cela signifie des caractères supplémentaires ou des caractères modifiés.
 * Pour une phrase, une recherche floue nécessite un nombre entier lui indiquant le nombre de mots supplémentaires à insérer, mais pour un mot, une recherche floue peut avoir une fraction décimale, par défaut à word~0.5 ( word~.5 ), où au plus deux lettres peuvent être échangées, modifiées ou ajoutées, mais jamais les deux premières lettres.
 * Pour une phrase proche : un grand nombre peut être utilisé, mais c'est une recherche « coûteuse » (lente).
 * Pour un mot : word~2 est le plus flou avec une distance d'édition de 2 (par défaut), word~1 est le moins flou, et word~0 n'est pas flou du tout.

Pour trouver la valeur de proximité nécessaire pour faire correspondre dans l'ordre inverse (de droite à gauche); compter et éliminer tous les mots supplémentaires; puis additionner deux fois le nombre total de mots restants moins un. (En d'autres termes, ajoutez deux fois le nombre de segments). Pour l'algorithme de proximité complète, voir Elasticsearch slop.

Les guillemets désactivent la recherche par radical, "but appending"~ le tilde réactive la recherche par radical.

Insource
Les recherches dans les sources peuvent être utilisées pour trouver n'importe quel mot généré sur une page, mais cela est fait pour trouver n'importe quelle phrase que vous pourriez trouver - y compris les marques MediaWiki, sur toute page sauf celles de redirection. Cette phrase ignore complètement les espaces gris : insource: "state state autocollapse" détectera.

La source d'information se complète. D'une part, il a une recherche en texte intégral pour n'importe quel mot dans le wikitext, instantanément. D'autre part, il peut traiter une recherche d'expression régulière pour n'importe quelle chaîne de caractères. L'expression régulière scanne tous les caractères textuels d'une liste de pages ; ils n'ont pas d'index de mots pour accélérer les choses, et le processus est interrompu s'il doit durer plus de vingt secondes. Les expressions régulières s'exécutent en dernier dans une requête, donc pour limiter le balayage inutile au niveau caractère, chacune d'elles doit inclure d'autres termes de recherche afin de limiter le nombre de documents à explorer. Souvent le meilleur candidat pour ajouter à la requête par expression régulière insource:/arg/ est insource:arg, où arg a la même valeur (et n'utilise pas de joker).

La syntaxe de l'expression régulière est insource: pas d'espace, puis /regexp/ (aucun autre paramètre n'interdit un espace. Tous les paramètres sauf insource:/regexp/ acceptent généreusement l'espace après le deux-points).

Le rôle de la recherche indexée Insource et celui de la recherche des expressions régulières sont similaires à bien des égards :


 * Les deux recherchent dans le wikitext seulement.
 * Aucun ne trouve de résultat dans les sources transclus.
 * Aucun ne fait de recherche par radical, ni des recherches floues, ni les recherches de proximité.
 * Les deux veulent le moins de résultats, et les deux travaillent plus rapidement lorsqu'ils sont accompagnés d'une autre clause.

Mais les recherches indexées ignorent toutes les espaces gris ; les recherches de caractères génériques ne correspondent pas aux espaces gris, donc les expressions régulières sont le seul moyen de trouver une chaîne exacte de caractères du type « n'importe lequel et tous » les caractères, par exemple une séquence de deux espaces. Les expressions régulières sont une classe entièrement différente d'outils de recherche qui rendent la recherche d'une chaîne littérale facile (utilisation de base, niveau débutant), et rendent possible la recherche des expressions de métacaractères (utilisation avancée) sur le wiki. Voir ici.

Prefixes et espaces de noms
Pour Search, un espace de noms représente le terme qui indique aux fonctions le domaine de recherche initial. Au lieu de chercher dans tous le wiki. Par défaut, il s'agit de l'espace de noms principal (mainspace).

Il est seulement possible de définir un espace de noms dans la requête de la boîte de recherche. Il s'agit soit du premier ou du dernier terme du paramètre « prefix ».

Deux ou davantage d'espaces de noms peuvent être explorés dans le panneau Avancé de la barre de recherche qui se trouve en haut de chaque page de résultats de recherche Special:Search. Votre domaine de recherche en tant que profil d'espaces de noms, peut être déclaré ici. La liste des espaces de noms s'affichera toute seule ensuite sur la première page des prochains résultats de recherche pour indiquer de quel domaine de recherche ces résultats sont issus. Pour annuler ceci, sélectionnez l'espace de noms par défaut (affiché entre prenthèses), sélectionnez « Conserver la sélection pour les recherches futures », et cliquez sur « Rechercher ».

La barre de recherche affiche graphiquement et initialise un domaine de recherche. Les "pages de contenu" (principal), "Multimédia" (File), "Tout" (tous  plus File), "Translations", etc... sont des hyperliens qui peuvent activer la requête dans le domaine concerné, ou indiquer qu'ils sont inactifs en devenant grisés. Mais la requête prévaut sur le contenu de la barre de recherche. Lorsqu'un espace de noms ou un prefixe est utilisé pour la requête dans la barre de recherche, les activations et les indications peuvent prêter à confusion, donc la barre de recherche et la boîte de recherche sont des façons mutuellement exclusives (et non pas complémentaires) pour positionner les domaines de recherche.

Un nom d'espace de noms prévaut sur la barre de recherche, et un nom de préfixe prévaut sur un espace de noms.

Entrez un espace de noms,, ou bien un deux-points    pour l’espace de noms principal. All ne comprend pas l'espace de noms 'File'. File comprend les contenus de type 'media' se trouvant sur Commons tels que les PDF, qui sont tous indexés et recherchables.

Quand vous utilisez File, un modificateur d'espace de noms  a une influence, sinon il est ignoré.

Les alias d'espaces de noms sont acceptés.

Comme pour les paramètres de recherche, local et all doivent être en minuscules. La casse des espaces de noms n'a pas d'importance.

Le paramètre prefix: détecte un nombre quelconque de caractères d'entête, de tous les noms de pages d'un espace de noms donné. Lorsque les premières lettres correspondent à un espace de noms avec deux points, le domaine de recherche change.

En ne donnant seulement qu'un seul espace de noms, le préfixe va couvrir tous les noms des pages qu'il contient. En ne donnant qu'un seul catactère, celui-ci ne peut être un tiret (-) ni une apostrophe(') ni des guillemets ("). Le dernier caractère ne peut pas être un deux points.

Pour les noms de pages qui coïncident, les sous-pages correspondantes coïncident également par définition.

Le paramère préfixe ne permet pas d'avoir un espace avant le nom de l'espace de noms, mais autorise un espace avant un nom de page.

Le paramètre préfixe se trouve à la fin de sorte que les caractères du nom de page peuvent contenir des guillemets (").

L'extension Translate crée une espèce d' espace de noms des traductions dans lequel chaque page a ses versions traduites. Mais à la différence des espaces de noms ou des préfixes qui déterminent le domaine de recherche initial, le paramètre inlanguage est un de ses filtres. (Voir la section suivante.)

Exclure du contenu à partir de l'index de recherche
Vous pouvez exclure du contenu de l'index de recherche en ajoutant. Cela indique à CirrusSearch d'ignorer ce contenu dans l'index de recherche (voir pour connaître le contexte).

Vous pouvez en plus marquer le contenu comme étant de l'information auxilliaire en ajoutant. Cela indique à CirrusSearch de déplacer le contenu à partir du texte principal vers un champ auxilliaire qui a une importance moindre pour la recherche, et mettre l'extrait en surbrillance. Cette différence est utilisée pour les éléments tels que les descriptions des vignettes d'images, les sections 'voir aussi', etc.

Filtres
Un filtre peut avoir plusieurs instances, des instances inversées, et il peut également s'exécuter en tant que filtre autonome d'un domaine de recherche. Une requête est formée de termes qui filtrent un domaine de recherche.

En ajoutant un autre mot, une phrase, ou un paramètre, vous augmentez le filtrage. Le résultat d'une recherche très précise peut avoir de nombreux filtres oui/non lorsque chaque page apparaissant dans les résultats est prise en compte. (Dans ce cas, le classement n'est pas du tout significatif.) Le filtrage s'applique de manière critique lorsque vous utilisez un terme d'expression régulière; vous devez avoir le moins de pages possible avant d'ajouter une expression régulière (parce qu'il n'y a jamais d'index préparé pour sa recherche).

Un espace de noms est un domaine de recherche spécifié mais ce n’est pas un filtre parce qu’un espace de noms ne peut être recherché seul. Un préfixe (signe ) fournira le résultat opposé, c’est donc  un filtre. Les paramètres de recherche ci-dessous sont des filtres pour lesquels il peut y avoir plusieurs occurrences.

Insource (décrit ci-dessus) est aussi un filtre, mais insource:/regexp/ n'en n'est pas un. Les filtres et tous les autres paramètres de recherche sont en minuscules. (Les espaces de noms sont une exception, car ils ne sont pas sensibles à la casse.)

Intitle et incategory
Les recherches de mots et de phrases fonctionnent avec les titres ainsi que dans la boîte des catégories, en bas des pages. Mais avec ces paramètres, vous pouvez sélectionner seulement les titres ou seulement les catégories.
 * cow*
 * Trouve les articles dont le titre ou le texte contiennent des mots qui commencent par cow
 * intitle:foo
 * Trouve les articles dont le titre contient « foo ». La recherche par radical est activée pour foo (trouve les dérivés simples : foos, par exemple).
 * intitle:"fine line"
 * Trouve les articles dont le titre contient « fine line ». La recherche par radical est alors désactivée.
 * intitle:foo bar
 * Trouve les articles dont le titre contient « foo » et dont le titre ou le texte contiennent « bar ».
 * -intitle:foo bar
 * Trouve les articles dont le titre NE contient PAS « foo » et dont, par contre, le titre ou le texte contiennent « bar ».
 * incategory:Music
 * Trouve les articles de Catégorie:Music
 * incategory:"music history"
 * Trouve les articles de Catégorie:Music_history
 * incategory:"musicals" incategory:"1920"
 * Trouve les articles qui sont à la fois dans Catégorie:Musicals ET dans Catégorie:1920
 * -incategory:"musicals" incategory:"1920"
 * Trouve les articles qui NE sont PAS dans Catégorie:Musicals mais qui sont dans Catégorie:1920

Intitle et incategory sont d'anciens paramètres de recherche. Incategory ne cherche plus les sous-catégories automatiquement, mais vous pouvez maintenant ajouter plusieurs noms de pages de catégories manuellement.

Depuis les recherches d'expression régulières sont prises en charge pour intitle :
 * intitle:/regex/, intitle:/regex/i

Tout ce qui est décrit ici est aussi valable pour ces recherches, y compris les avertissements.

Deepcategory
La recherche approfondie dans les catégories permet de chercher dans les catégories et les sous-catégories. La profondeur de l'arbre est actuellement limitée à 5 niveaux (configurable) et le nombre maximum de catégories est de 256 (également configurable). La recherche approfondie utilise le  service SPARQL Category de WDQS. Les mots clé sont deepcategory ou deepcat. Exemple :


 * deepcat:"musicals"
 * Trouve les articles qui sont à la fois dans la Catégorie:Chanson_en_français et dans n'importe quelle de ses sous-catégories.

Le gadget DeepCat qui implémentait précédemment le paramètre a été supprimé en janvier 2020.

Notez que certaines recherches Deepcat retournent des résultats incomplets. Voir le bogue pour plus de détails.

Linksto
Linksto trouve les liens wiki vers un nom donné, et non pas les liens vers du contenu. L'entrée est le nom de la page sous forme canonique et sensible à la casse. Il doit correspondre exactement à la ligne du titre de la page de contenu, avant toute modification de la casse des lettres du titre. (C'est le { {FULLPAGENAME}}, par exemple pour la page qui contient le texte que vous lisez actuellement, il s'agit de : .)

Linksto ne trouve pas les redirections. Il ne trouve que les [ [wikilinks]], même lorsqu'ils sont créés par un modèle. Il ne trouve pas les liens constitués par une URL, même si cette URL est un lien interne du wiki.

Pour trouver tous les liens wiki vers un « Help:Cirrus Search », si « Help:Searching » et « H:S » sont des redirections vers lui :
 * 1) linksto: "Help:Cirrus Search"
 * 2) linksto: Help:Searching
 * 3) linksto: H:S

trouve les articles qui mentionnent « CirrusSearch » mais pas dans un lien wiki.

Hastemplate
Vous pouvez indiquer l'utilisation d'un modèle avec. Entrez le nom de page canonique pour rechercher toutes les utilisations de ce modèle, mais l'utilisation d'une de ses pages redirigées quelconque trouvera juste ce nom. Les alias des espaces de noms sont acceptés, les majuscules sont ignorées complètement, et les redirections sont trouvées, le tout dans une seule requête (comparez boost-template sans espace de noms par défaut; linksto sans alias d'espace de noms, sensible à la casse, sans les redirections; intitle sans les redirections).

Hastemplate trouve l'utilisation secondaire (ou le modèle méta) d'une page : il recherche les inclusions après l'expansion. C'est la même philosophie que pour les mots et les phrases d'un modèle, mais ici on s'adresse aux modèles à partir d'un modèle. La page sera listée comme ayant ce contenu même si ce contenu n'est pas visible dans le texte wiki.


 * hastemplate: "quality image", trouve les utilisations de « Template:Quality image » dans votre domaine de recherche par défaut (espaces de noms).
 * hastemplate: portal:contents/tocnavbar, trouve les utilisations de l'espace de noms d'un modèle « Contents/TOCnavbar » dans l'espace de noms Portal.

Pour les installations avec l'extension Translate, les recherches hastemplate sont perturbées là où le Template:Translatable template name inclut le nom du modèle d'un modèle traductible. Utilisez insource à la place.

Inlanguage
Pour les installations avec l'extension Translate, inlanguage est important avec les recherches très précises et le comptage des pages.


 * inlanguage: code de langue

ne fournira les résultats de recherche que pour cette langue uniquement.

Par exemple


 * pour compter toutes les pages en japonais du wiki
 * all: inlanguage: ja


 * pour exclure les pages en allemand et en espagnol de l'espace de noms Aide (Help)
 * help: -inlanguage: de -inlanguage: es


 * pour ignorer les traductions (espace de noms Translate), et là où la langue de base est l'anglais, ajoutez
 * inlanguage:en

Contentmodel
Le mot clé contentmodel: permet de limiter la recherche aux pages d'un modèle de contenu spécifique. Pour les modèles possibles, voir les gestionnaires de contenu. Par exemple :


 * Pour ne voir que les pages JSON :
 * contentmodel:json

subpageof
Pour trouver des sous-pages.
 * subpageof: Page parent

Par exemple


 * Pour trouver toutes les sous-pages de CirrusSearch.
 * subpageof:CirrusSearch


 * Utilisez les guillements si la page parent contient des espaces.


 * subpageof:"Requests for comment"

Articletopic
Le mot-clé articletopic: permet de filtrer les résultats de recherche par sjet. Voir pour connaître les sujets disponibles. Par exemple articletopic:books filtrera les résultats de recherche d'articles concernant les livres. articletopic:books|films filtrera les articles concernant les livres ou les films. articletopic:books articletopic:films filtrera les articles concernant à la fois les livres et les films.

Seuls les articles de l'espace principal sont des sujets, et seuls les sujets sont disponibles sur les Wikipedias. A la différence des autres filtres, les sujets d'articles contribuent aussi à pondérer les pages : les articles qui sont trouvés le plus souvent pour un sujet donné ont un poids plus fort dans les résultats de recherche (tandis que les articles qui ne concernent pas du tout le sujet seront supprimés complètement de l'ensemble des résultats).

Les modèles de sujets sont dérivés de ORES par apprentissage automatique. Tout article reçoit un score sur des dizaines de sujets différents, et peut par conséquent apparaître sous différents mots-clé. Par exemple, l'article à propos d'Albert Einstein peut apparaître comme un article sur la « physique » et un article sur la « biographie ». Toutes les Wikipedias ont les scores disponibles -- certaines ont des modèles de sujets pour les langues locales couvrant tous les articles. Les autres langues n'ont pas de modèles ORES locaux, et utilisent pour la langue locale, les scores de la langue anglaise assignés aux articles correspondants dans la Wikipedia anglaise. Les langues avec de tels scores "cross-wiki" n'ont pas 100 % de couverture -- en fonction de la langue, on peut avoir quelque chose comme 60 % des articles qui possèdent des sujets disponibles.

Les données de recherche relatives aux sujets sont mises à jour chaque semaine, il est donc possible que les articles créés récemment n'apparaissent pas encore dans les requêtes de recherche par sujet.

Pageid
Le mot-clé pageid: restreint les résultats de la recherche à la liste des ID de page fournis. Ce n'est pas très utile pour la recherche manuelle; on peut l'utiliser avec des outils logiciels pour vérifier si un ensemble de pages correspond à l'ensemble des conditions de recherche fournies (par exemple pour valider à nouveau les résultats de recherche dans le cache).

Pondération des pages
La pondération concerne l'extrait de code, les suggestions et la pertinence de la page. Le poids normal est de un. Une pondération supplémentaire est donnée par les multiplicateurs.

Si vous ne recherchez que des mots, les pages dans lesquelles ils se trouvent dans l'ordre sont promues. Si vous ajoutez des phrases explicites quelconques à votre recherche, ou pour certains autres ajouts, cette fonctionalité de "phrase préférée" n'est pas appliquée.

Morelike

 * morelike:page name 1|page name 2|...|page name n
 * Trouve les articles dont le texte est presque similaire au texte des articles fournis.
 * morelike:wasp|bee|ant
 * Trouve les articles concernant les insectes qui piquent (wasp/guêpe - bee/abeille - ant/fourmi).
 * morelike:template:search|template:regex|template:usage
 * Trouve les modèles à propos de la recherche par expressions régulières pour une utilisation sous forme de modèles sur un wiki.

morelike est un mot clé gourmand, ce qui signifie qu'il ne peut pas être combiné avec d'autre requêtes de recherche. Si vous voulez faire d'autres requêtes, utilisez morelikethis dans votre recherche :


 * morelikethis:bee hastemplate:"featured article"
 * Trouver les articles concernant bees qui utilisent également le modèle « featured article ».

La requête morelike: fonctionne en choisissant un ensemble de mots dans les articles d'entrée et en effectuant une requête avec les mots choisis. Vous pouvez régler son fonctionnement en ajoutant les paramètres suivants à l'URL des résultats de recherche :

Ces réglages peuvent être rendus persistants en remplaçant  dans les messages système.
 * cirrusMltMinDocFreq : Nombre minimum de documents (par tesson) qui ont besoin d'un terme pour qu'il soit pris en compte.
 * cirrusMltMaxDocFreq : Nombre maximum de documents (par tesson) qui ont un terme pour qu'il soit pris en compte.
 * cirrusMltMaxQueryTerms : Nombre maximal de termes à prendre en considération.
 * cirrusMltMinTermFreq : Nombre minimal de fois que le terme apparaît dans l'entrée du document à prendre en compte. Pour les petits champs ( title ), cette valeur doit être 1.
 * cirrusMltMinWordLength : Longueur minimale d'un terme à prendre en considération. La valeur par défaut est 0.
 * cirrusMltMaxWordLength : La longueur maximale des mots au-dessus de laquelle les mots seront ignorés. La valeur par défaut est un nombre illimité (0).
 * cirrusMltFields (liste de valeurs séparées par des virgules) : Ce sont les champs à utiliser. Les champs autorisés sont title, text , text , auxiliary_text , opening_text , headings et all.
 * cirrusMltUseFields ( | ) : n'utilisez que les données du champ. Par défaut  : le système extrait le contenu du champ   pour construire la requête.
 * cirrusMltPercentTermsToMatch : Le pourcentage de termes à faire correspondre. La valeur par défaut est de 0,3 (30 %).
 * Exemple :

Prefer-recent
En ajoutant prefer-recent: n'importe où dans la requête, vous verrez les derniers articles modifiés affichés un peu plus grands que les promotions classiques pour les règles de classement des pages. Prefer-recent est appliqué uniquement lorsque vous utilisez la valeur par défaut  de l'ordre de classement.

Par défaut, la promotion s'applique sur 60% des scores sur un grand intervalle de temps qui couvre 160 jours; ceci peut être indiqué dans la requête par prefer-recent:0.6,160. . Cela fonctionne bien avec les autres règles de classement de page et est destiné à la plupart des recherches.

Vous pouvez utiliser les règles : prefer-recent:boost,recent . Techniquement « boost » est la proportion du score sur l'échelle, et « recent » est la moitié de la durée de vie en jours. La promotion est plus qu'un multiplicateur classique, c'est une progression exponentielle. Le facteur utilisé dans l'exposant représente le temps écoulé depuis la dernière modification.

Par exemple


 * prefer-recent:,7

Les pages de plus de 7 jours d'ancienneté sont promues de moitié, et celles de plus de 14 jours encore de nouveau de moitié, et ainsi de suite. Pour un simple tri par date pour les résultats d'une recherche très affinée, où l'ordre de classement et la promotion des des pages sont très insignifiants, promouvez simplement l'ensemble de tous les scores.
 * prefer-recent:1,7 (weeks)
 * prefer-recent:1,1 (days)
 * prefer-recent:1,0.0007 (minutes)
 * prefer-recent:1,0.0001 (8.64 seconds)
 * prefer-recent:1,0.00001 (seconds)

Modèles de promotion
Vous pouvez promouvoir les scores des pages en fonction des modèles qu'elles contiennent. Cela peut être fait directement dans la recherche via  ou vous pouvez définir la valeur par défaut pour toutes les recherches via le nouveau message. remplace le contenu de  si le premier est spécifié. La syntaxe est un peu funky mais a été choisie pour la simplicité. Comme prefer-recent, les modèles de promotion ne sont appliqués que lorsque l'on utilise l'ordre de classement par défaut. Quelques exemples :


 * File:boost-templates:"Template:Quality Image|200%" incategory:china
 * Trouve les fichiers dans la Catégorie:Chine ordonnés d'abord selon la qualité des images.


 * File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" incategory:china
 * Trouve les fichiers dans la Catégorie:Chine avec en premier les images de qualité puis les images de qualité inférieure.


 * File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" popcorn
 * Trouve les fichiers à propos de popcorn en triant d'abord les images de bonne qualité et en dernier, les images de qualité médiocre. Notez bien qu'en utilisant le message , vous pouvez réduire ceci à simplement.

N'essayez pas d'ajouter des valeurs décimales aux pourcentages. Elles ne fonctionnent pas et la recherche de scores est telle qu’elles n’ont probablement pas beaucoup d’importance.

Un mot d'avertissement à propos de  : si vous ajoutez des pourcentages très très grands ou très petits, ils peuvent perturber le score du texte complet. Pensez, par exemple, si enwiki a promu les articles vedettes d'un million de pour cent. Alors, les recherches de termes mentionnés dans les articles vedettes trouveraient les articles vedettes avant que les titres correspondent exactement aux termes. La concordance des phrases serait également balayée, de sorte qu'une recherche comme  trouverait un article avec ces mots éparpillés dans tout l'article au lieu de l'article pour Brave New World.

Recherche des expressions régulières
Une recherche indexée de base trouve les mots rendus visibles sur une page. La césure, la ponctuation et l'ajout de parenthèses, de barre oblique ou d’autres symboles mathématiques et informatiques ne sont que des limites pour les mots. Il n'est pas possible de les inclure dans une recherche indexée. Dans la plupart des cas, ce type de comportement est celui souhaité par l'utilisateur. Néanmoins quelques fois on veut pouvoir faire une recherche plus précise.

Pour contourner les lacunes syntaxiques des recherches basées sur l'index, les recherches à l'aide d'expressions régulières peuvent être utilisées. Mais comme les requêtes avec uniquement des expressions rationnelles sont très lentes et consommatrices de ressources, elles doivent toujours être combinées avec une recherche basée sur un index, de sorte que le domaine de recherche de l'expression rationnelle soit limité aux résultats d'une ou plusieurs recherches basées sur l'index.

Une expression régulière pour la recherche d'une chaîne exacte est une recherche de base; la chaîne de l'expression sera simplement mise entre guillemets ou les caractères non alphanumériques seront échappés avec des barres obliques inversées '\' (backslash). Toutes les recherches d'expressions régulières nécessitent également que l'utilisateur développe un filtre simple pour générer le domaine de recherche afin que le moteur d'expression régulière puisse travailler (basé sur un index marqué en gras, partie de l'expression régulière marquée en italique) :


 * insource:"debian.reproducible.net" insource:/debian\.reproducible\.net/
 * insource:"c:\program files (x86)" insource:/C\:\\Program Files \(x86\)/i
 * insource:" { {template}} " insource:/" { {template}}<"\/"tag>"/
 * insource:"[ [title|link label]]'s" insource:/"[ [title|link label]]'s"/
 * insource:/regexp/ prefix:{ {FULLPAGENAME}}

Le dernier exemple fonctionne à partir d'un lien sur une page, mais { {FULLPAGENAME}} ne fonctionne pas dans la boîte de recherche.

Par exemple : Special:Search/insource:/regex/ prefix: recherche le terme regex sur cette page.

Une requête sans espace de noms ni préfixe spécifié recherche votre domaine de recherche par défaut (paramétrable sur n’importe quelle page de résultats de recherche, c’est-à-dire sur $ss). Certains utilisateurs conservent leur domaine de recherche par défaut sur tous les espaces de noms, c’est-à-dire sur tout le wiki. Sur un wiki de grande taille, si cet utilisateur effectue une recherche à la base d'une expression régulière nue, il échouera probablement, entraînant l'expiration du délai d'attente HTML, avant de terminer la recherche.

Une recherche d'expression régulière parcourt actuellement les caractères un par un sur chacune des pages du domaine de recherche. Au contraire, une recherche indexée interroge actuellement quelques enregistrements d'une base de données gérée séparément de la base du wiki, et fournit les résultats presque instantanément. Donc lorsque vous utilisez un insource:// (une expression régulière quelconque), prévoyez d'utiliser une règle qui va limiter le plus possible le domaine de recherche de l'expression. De nombreux termes de recherche utilisent un index et fournissent donc instantanément un domaine de recherche plus affiné pour l'expression régulère. Par ordre d'efficacité générale:


 * insource:"" à l'aide des guillemets, dupliquer l'expression régulière sans les slash ni les caractères d'échappement est l'idéal.
 * intitle (sans recherche d'expressions régulières), incategory, et linksto sont des filtres excellents.
 * hastemplate: est un très bon filtre.
 * "word1 word2 word3", avec ou sans les guillemets est valide.
 * namespace: est pratiquement inutile, mais peut permettre à une recherche lente d'expression régulière, de se terminer.

Pour tester une requête avec une expression régulière nue, vous pouvez créer une page avec des modèles de test, puis utiliser le paramètre préfixe avec ce nom de page complet. La correspondance sera mise en surbrillance. Cette page ainsi que ses sous-pages seront recherchées (dans la base de données).

Les termes de la recherche qui n'augmentent pas l'efficacité de la recherche d'une expression régulière sont les opérateurs de score de page : morelike, boost-template, et prefer-recent.

Métacaractères
Cette section décrit la manière d'échapper les métacaractères utilisés dans les recherches des expressions régulières Pour la signification actuelle des métacaractères voir l'explication de la syntaxe.

Par exemple :


 * pour rechercher un espace de noms, évaluez le nombre de pages avec un seul terme qui est un espace de noms. Ceci listera le nombre de pages dans cet espace de noms.
 * pour commencer par chercher à nouveau ce que vous avez déjà pu voir, comme les liens ou les (trans[in]clusion) démarrez avec l'espace de noms et les filtres insource.

Affinage avec une chaîne exacte

 * pour affiner le processus de recherche avec ce que vous désirez voir, comme "2 + 2 = 4", ou "site.org" c'est idéalement la meilleur utilisation des expressions régulières, parce que cela consiste à ajouter pour affiner la recherche, un seul terme à l'expression régulière : le nombre maximum de pages que l'expression régulière doit parcourir pour faire la recherche.

Vous pouvez commencer en essayant la recherche d'une chaîne de caractères exacte, mais gardez à l'esprit :


 * l'expression régulière ne cherche que dans le wiki code et non pas dans le texte généré, donc il y a quelques différences en ce qui concerne le marquage, et même le nombre de caractères espace doit correspondre exactement.
 * Vous devez fournir un filtre d'accompagnement.
 * Vous devez apprendre comment échapper les méta caractères des expressions régulières.

Il y a deux manières d'échapper des méta caractères. Elles sont toutes deux utiles individuellement, et parfois aussi concaténées dans l'échappement d'une chaîne.


 * L'échappement avec des barres obliques inverses, l'un d'entre eux \char. L'expression régulière insource:/regexp/ utilise des barres obliques pour délimier le terme. En donnant /reg/exp/ il y a ambiguité, donc vous devez écrire /reg\/exp/.
 * Mettez une des chaînes entre guillemets "string". Parce que échapper un caractère ne peut pas faire de mal, vous pouvez échapper ainsi tout caractère même ceux comprenant des méta caractères. L'échappement avec des guillemets est plus propre.
 * Vous ne pouvez pas mélanger les méthodes mais vous pouvez les concaténer.

L' échappement avec les guillemets en utilisant insource:/"regexp"/ est une manière facile de chercher plusieurs sortes de chaînes, mais vous ne pouvez pas échapper à l'aide de la barre oblique inverse n'importe quoi à l'intérieur d'une séquence échappée avec des guillemets.


 * au lieu de
 * est aussi valable que
 * Mais  toujours.
 * Et .  Il trouve littéralement le  , qui n'est pas le   que vous vouliez probablement.

L' échappement avec la barre oblique inversée en utilisant insource:/regexp/ permet d'échapper les délimiteurs " et /,  mais nécessite de prendre en compte les métacaractères, éventuellement en les échappant :


 * Pour capturer un caractère délimiteur  utilisez.
 * Pour capturer un caractère délimiteur, utilisez.
 * Les méta caractères échappés seraient.
 * L'expression équivalente échappée avec des guillemets est.

L'argorithme le plus simple pour créer une expression de recherche basique en utilisant insource:/"regexp"/, n'a pas besoin de prendre en compte les méta characteres à l'exception des caractères " et / :
 * 1) Générer   . (Les  /" délimiteurs "/ ne sont pas montrés.)
 * 2) Remplacez   par   (anciens guillemets: stop, concatenate, quote restart).
 * 3) Remplacer   par   (stop, concatenate, start).
 * 4) Vous obtenez , montrant la concaténation des deux méthodes.

La notation entre crochets pour la création de votre propre classe de caractères échappe également ses métacaractères. Pour cibler un crochet littéral fermant (]) dans votre modèle de classe de caractères, vous devez utiliser une barre oblique inversée échappée, sinon cela peut être interprété comme le délimiteur de fermeture de la définition de modèle de classe de caractères. La première position d'une classe de caractères échappera également au crochet fermant. À l'intérieur des crochets délimitant une classe de caractères, le caractère tiret a également une signification particulière (plage), mais il peut également être inclus littéralement dans la classe de la même manière que le crochet fermant. Par exemple, ces deux modèles détectent un caractère qui est soit un tiret (-) ou un crochet fermant (]) ou un point (.) :  or.

Pour des exemples généraux utilisant les méta caractères :


 * insource:"2+2=4" insource:/"2+2=4"/ détecte "2 + 2 = 4", sans espace entre les caractères.
 * insource:"2 + 2 = 4" insource:/2 ?\+ ?2 ?= ?4\./ détecte sans ou avec un espace intermédiaire. Le signe égale '=' n'est pas un méta caractère, mais le plus '+' l'est effectivement.
 * insource:"[ [link|2\3?]]\" insource:/"[ [link|2\3?]]< "\/" tag>"/

Il existe quelques différences notables par rapport aux méta caractères standard des expressions régulières :


 * Le  ou le   ne sont pas réservés pour détecter les passages à la ligne. Pour rechercher une chaîne qui contient un passage à la ligne, vous pouvez faire une recherche telle que   qui signifie pas une accolade, ni deux accolades, ni deux caractères sauf des accolades, un espace, ou une barre verticale, puis une balise  . Le tout caractère sauf inclut le passage à la ligne dans la recherche. Notez bien que cette recherche a été faite pour ne détecter que la chaîne suivante :


 * Le méta caractère point '.' remlace n'importe quel caractère y compris le passage à la ligne, donc .* capture tout.
 * Le signe numérique dièse (#) signifie quelque chose, et doit être échappé.
 * Les caractères ^ et $ n'ont pas besoin de l'être. Comme "grep" (global par ligne, expression régulière, imprime chaque ligne), chaque insource:// est un « global au document, expression régulière, lister de résultats de la recherche de chaque document » par document.
 * et  acceptent un intervalle numérique sur plusieurs digits comme le fait , mais sans se préoccuper du nombre de positions de caractères, ou de l'intervalle pour chaque position, donc   est accepté, de même que.

Expressions régulières sur les titres
Le mot clé insource ne fait que chercher dans le contenu source de la page. Pour exécuter des recherches d'expressions régulières sur les chaînes des titres, intitle:/regex/ peut être utilisé.

Exemple avancé
Par exemple, utiliser des méta caractères pour rechercher l'utilisation d'un modèle appelé Val comportant, dans l'appel du modèle, un paramètre non nommé contenant un nombre éventuellement signé, composé de trois à quatre chiffres, éventuellement entouré d'espaces, et sur la même page, dans un appel de modèle Val, un argument nommé  ayant des espaces autorisés autour de lui, (il peut s'agir du même appel de modèle, ou d'un appel séparé) :



Notez que le signe = dans fmt commas n'est pas utile mais que si vous le mettez vous ne modifiez pas les résultats. Il est rapide car il utilise deux filtres afin que chaque page explorée par l’expression régulière ait le potentiel le plus élevé possible.

limitée, dans un rayon
Vous pouvez limiter la recherche aux pages identifiées comme se trouvant à proximité de certaines coordonnées géographiques. Les coordonnées peuvent être soit spécifiées par le couple (lattitude, longitude), ou en fournissant un titre de page à partir duquel les coordonnées peuvent être obtenues. Pour limiter la recherche, préfixez avec la distance si vous le souhaitez. Exemples :


 * neartitle:"San Francisco"
 * neartitle:"100km,San Francisco"
 * nearcoord:37.77666667,-122.39
 * nearcoord:42km,37.77666667,-122.39

par promotion de page
Vous pouvez aussi augmenter le score des pages à l'intérieur d'une zone géographique. La syntaxe est la même que pour la recherche limitée, mais avec le mot boost- préfixé au mot clé. Ceci double effectivement le score des pages à l'intérieur de l'intervalle de recherche, en donnant une meilleure chance aux résultats de la recherche de proximité d'apparaître dans les premiers.


 * boost-neartitle:"San Francisco"
 * boost-neartitle:"100km,San Francisco"
 * boost-nearcoord:37.77666667,-122.39
 * boost-nearcoord:42km,37.77666667,-122.39

Recherche des propriétés de fichier
Depuis MediaWiki 1.28, CirrusSearch prend en charge l'indexation et la recherche des propriétés des fichiers de l'espace de noms. Ceci inclut :
 * le type du fichier de média
 * le type MIME
 * la taille
 * la largeur et la hauteur
 * la résolution
 * la profondeur de bit pour les fichiers qui l'utilisent

filetype
La recherche du type de fichier permet de trouver les fichiers en fonction de leur classification, tels que les documents de bureau, les vidéos, les images matricielles, les images vectorielles, etc. Voici les types de fichiers qui existent actuellement :



Ceci peut être étendu à l'avenir. Voir aussi les constantes  dans.

La syntaxe de la recherche est : filetype:{type}. Exemple:

filetype:video - recherche de toutes les vidéos

La recherche de type de fichier est indépendante de la casse.

filemime
Détecte le type MIME des fichiers. La syntaxe est :

filemime:{MIMEtype} - recherche les fichiers pour ce type de MIME

Si l'argument est avec des guillements, c'est la recherche exacte qui est réalisée. Sans guillements, les correspondances partielles de composants du type de MIME seront également acceptées.

Exemples :


 * filemime:"image/png" - recherche les fichiers dont le type MIME est exactement
 * filemime:pdf - recherche tous les documents PDF
 * -filemime:pdf - sauter tous les documents PDF (particulièrement sur Commons)

La recherche sur le type de MIME n'est pas sensible à la casse.

filesize
Recherche de fichiers ayant la taille donnée, en kilo octets (un kilo octet = 1024 octets). La syntaxe est :


 * filesize:{number} ou filesize:>{number} - fichier dont la taille correspond au moins à la valeur fournie
 * filesize:<{number} - fichier dont la taille n'excède pas le nombre fourni
 * filesize:{number},{number} - fichier dont la taille est comprise entre les nombres fournis

Exemples :


 * filesize:>20 ou filesize:20 - fichiers de 20 Ko et supérieurs
 * filesize:<1024 - fichiers plus petits que 1Mo
 * filesize:100,500 - fichiers dont la taille est entre 100 Ko et 500 Ko

Dimensions des fichiers
Il est possible de chercher les dimensions spécifiques des fichiers: largeur, hauteur, résolution (définie comme la racine carrée de : hauteur x largeur), et profondeur de bit. Tous les fichiers ne possèdent pas ces propriétés. La syntaxe est :


 * {measure}:{number} - fichier dont la mesure correspond au nombre fourni
 * {measure}:>{number} - fichier dont la mesure correspond au moins au nombre fourni
 * {measure}:<{number} - fichier dont la mesure correspond au plus au nombre fourni
 * {measure}:{number},{number} - fichier dont la mesure est dans l'intervalle des nombres fournis

Où  peut valoir :

filew ou filewidth - taille du fichier

fileh ou fileheight - hauteur du fichier

fileres - résolution du fichier (voir ci-dessus)

filebits - profondeur de bit du fichier

Exemples :

filew:>800 fileh:>600 - fichier dont la taille est au moins de 800x600 pixels

filebits:16 - fichiers dont la profondeur de couleurs est de 16 bits

fileheight:100,500 - fichier entre 100 et 500 pixels de hauteur

Recherches dans Wikibase
L'extension définit quelques mots clé pour faciliter la recherche de certains éléments dans la base de données du wiki. Ceci est utile pour et les autres sites Wikibase, y compris pour la recherche d'images avec les Données structurées sur. Voir pour les détails.

Résultats de recherches inter wiki
Deux types de résultats inter-wikis peuvent être affichés lors de la recherche sur Wikipedia.

La recherche inter projets (aussi appelée recherche inter wiki, recherche frère, ou recherche dans les projets frère) affiche les résultats supplémentaires venant des autres projets (Wiktionary, Wikisource, Wikiquote, etc.) sur le côté de la page des résultats Wikipedia. La recherche inter projets est disponible sur la plupart des Wikipedias ayant des projets frères.

La recherche inter langues (voir ce billet de blog) fait référence aux résultats supplémentaires affichés sous les résultats principaux venant d'une Wikipedia de langue différente. La recherche inter langues utilise une version souvent modifiée et optimisée d'un détecteur de langue léger appelé. La recherche inter langues n'est actuellement disponible que sur quelques Wikipedias (pour les détails, voir le lien TextCat).

Ordres de tri explicites
En plus du tri par défaut basé sur la pertinence, CirrusSearch peut fournir des résultats à quelques autres ordres de tri. En spécifiant un ordre de tri différent de  vous désactiverez tous les mots clé de la recherche qui affectent l' évaluation par score, tels que   ou. Les mots clé seront encore analysés syntaxiquement mais n'auront pas d'effet.

Les options de tri sont disponibles actuellement à partir de l'API MediaWiki en fournissant le paramètre.

Les options de tri peuvent être ajoutées manuellement à une URL de recherche en ajoutant, par exemple https://www.mediawiki.org/w/index.php?search=foo&sort=last_edit_desc.

Les ordres de tri valides incluent :

Interface pour les options avancées


L'extension AdvancedSearch ajoute une interface améliorée à la page de recherche permettant l'utilisation de plusieurs options décrites ci-dessus sous une forme conviviale. Voir ici pour le manuel utilisateur.

Voir aussi

 * Suggestion de complétion - la fonctionnalité de recherche incrémentale de CirrusSearch
 * — définitions, contexte, et liens pour les termes relatifs à la recherche.
 * Voir pour MWSearch, utilisé sur la plupart des wikis qui n'ont pas l'extension search.
 * Voir pour MWSearch, utilisé sur la plupart des wikis qui n'ont pas l'extension search.

Liens externes

 * De Lucene, documentation très pointue.
 * (as of 2017-12-06)
 * Extension:CirrusSearch/Profiles – ensembles de paramètres adaptables qui influencent différents aspects de l'indexation
 * Wikimedia blog articles related to search