Help:CirrusSearch/fr

CirrusSearch est le nouveau moteur de recherche de MediaWiki. La Fondation Wikimédia a décidé de passer à l'outil CirrusSearch car il dispose d'améliorations majeures par rapport au précédent moteur de recherche, LuceneSearch. Cette page décrit les fonctionnalités nouvelles ou différentes qui sont apparues depuis cette transition.

Questions fréquentes
Si votre question ne trouve pas de réponse ici, n’hésitez pas à demander sur la page de discussion et quelqu’un vous y répondra.

Quelles sont les améliorations ?
Le nouveau moteur de recherche apporte trois améliorations principales par rapport à l'ancien, à savoir :


 * Meilleur support pour la recherche dans différentes langues.
 * Des mises à jour plus rapides pour l'indexation, ce qui veut dire que les changements seront visibles dans les résultats de recherche plus vite.
 * « Développement des modèles », ce qui signifie que tout le contenu des modèles se trouve maintenant dans les résultats de recherche.

Mises à jour
L'indexation est réalisée presque en temps réel. Vous devriez voir vos changements aussitôt que vous les avez faits. Les modifications apportées aux modèles devraient prendre effet dans les articles qui les incluent au bout de quelques minutes. Les modifications de modèles utilisent la job queue, donc les performances peuvent varier. Un null edit à l'article forcera la modification, mais cela ne devrait être fait qu'en cas de nécessité.

Suggestions de recherche
Les suggestions de recherche qui s'affichent lorsque vous entrez du texte dans la zone de recherche restent globalement identiques, les articles proposés étant triés par leur nombre de liens retour. Notez que si vous placez un tilde ( ~ ) au début de votre requête, aucune suggestion d'article ne sera recherchée pendant que vous écrirez le texte de votre recherche, ainsi vous pourrez appuyer sur la touche « Entrée » pour accéder directement à la page des résultats de votre recherche.

Les caractères ASCII/accentués/avec diacritiques sont acceptés pour les requêtes en anglais, mais il y a quelques problèmes de formatage des résultats. Voir.

Recherche de texte brut
La recherche de texte brut (qui vous amène sur la page de recherche) s'effectue dans les titres, les redirections, les titres de paragraphe ou le texte des pages donc ne devrait présenter aucune surprise. Le changement le plus important ici est que c'est le contenu des modèles dans les pages en question qui est pris en compte, plutôt que le wikicode du modèle lui-même.

Lexémisation
Des dizaines de langues sont supportées mais on souhaite l'étendre à toutes les langues. Il 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.

Filtres (intitle:, incategory: et linksto:)


Nous avons quelque peu amélioré la syntaxe de ces différents filtres.


 * intitle:foo
 * Trouve les articles dont le titre contient « foo ». Trouve aussi ses dérivés simples (foos, par exemple).
 * intitle:"fine line"
 * Trouve les articles dont le titre contient « fine line ». La lexémisation 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:Musique
 * Trouve les articles de la Catégorie:Musique
 * incategory:"histoire de la musique"
 * Trouve les articles de la Catégorie:Histoire_de_la_musique
 * incategory:"Chanson en français" incategory:"Chanson de pop"
 * Trouve les articles qui sont à la fois dans la Catégorie:Chanson_en_français et dans la Catégorie:Chanson_de_pop
 * -incategory:"Chanson en français" incategory:"Chanson de pop"
 * Trouve les articles qui ne sont pas dans la Catégorie:Chanson_en_français mais qui sont dans la Catégorie:Chanson_de_pop
 * cheval*
 * Trouve les articles dont le titre ou le texte contiennent un mot qui commence par cheval*
 * linksto:Help:CirrusSearch
 * Trouve les articles qui contiennent un lien vers Help:CirrusSearch
 * -linksto:Help:CirrusSearch CirrusSearch
 * Trouve les articles qui contiennent le mot CirrusSearch mais qui ne contiennent pas de lien vers Help:CirrusSearch

prefix:
La syntaxe prefix: dans sa forme actuelle est utilisée pour un tas de fonctionnalités et a donc été conservée aussi fidèlement que possible.

Notez que les anciennes règles consistant à mettre prefix: à la fin de la requête s'appliquent encore.

morelike:
La requête  fonctionne en sélectionnant un jeu de mots dans les articles de la requête et en lançant ensuite une nouvelle requête avec les mots choisis. Vous pouvez personnaliser son fonctionnement en ajoutant les paramètres suivants dans l'URL de la page de résultats de la recherche : Ces paramètres peuvent être sauvegardés pour les prochaines recherches en réécrivant  dans Aide:Message système.
 * Trouve les articles dont le texte est similaire au texte des articles inclus dans la requête.
 * Trouve les articles concernant les insectes qui piquent (wasp/guêpe - bee/abeille - ant/fourmi).
 * Trouve les modèles à propos de la recherche par expressions régulières pour une utilisation sous forme de modèles sur un wiki.
 * Trouve les articles concernant les insectes qui piquent (wasp/guêpe - bee/abeille - ant/fourmi).
 * Trouve les modèles à propos de la recherche par expressions régulières pour une utilisation sous forme de modèles sur un wiki.
 * Trouve les modèles à propos de la recherche par expressions régulières pour une utilisation sous forme de modèles sur un wiki.
 * : nombre minimum de documents (par shard) dans lequel un terme doit apparaître pour être sélectionné par la requête.
 * : nombre maximum de documents (par shard) dans lequel un terme doit apparaître pour être sélectionné par la requête.
 * : nombre maximum de termes devant être sélectionnés.
 * : nombre minimal d’occurrences d'un terme pour être sélectionné. Pour les petits champs de recherche cette valeur devrait être à 1.
 * : longueur minimale d'un terme pouvant être sélectionné. Par défaut : 0.
 * : longueur maximale à partir duquel les termes sont ignorés. Par défaut : sans limite (0).
 * (liste séparée par des virgules) : champs à utiliser parmi,  ,  ,  ,   et.
 * ( | ) : utiliser uniquement le champ cirrusMltFields. Par défaut :, c'est à dire que le système extraira le contenu du champ   pour créer la requête.
 * : pourcentage minimal de termes pour être dans les résultats de la requête. Par défaut : 0.3 (30%).
 * Exemple :

Espaces de noms
Les espaces de noms à explorer (un espace de noms, certains, tous) peut être spécifié au début de la requête. Deux espaces de noms ou plus peuvent être choisis dans la page de résultats de recherche, Special:Search, dans la boîte de dialogue avancée. On peut sélectionner ces paramètres pour une seule requête ou pour le domaine de recherche par défaut de l'utilisateur. Entrez un espace de noms ou entrez, ou encore entrez un deux-points    pour l'espace de noms principal.

Les alias des espaces de noms sont acceptés. Pour l'espace de noms Fichier,  est accepté.


 * ** Trouve les articles dans l'espace de noms de discussion principal dont le titre ou le texte contient le mot « foo ».
 * Trouve dans l'espace de noms Fichier du wiki et sur Commons dont le titre ou le texte contient le mot "foo".
 * Ajoutez  à File: pour rechercher uniquement sur le wiki et pas sur Commons.
 * Trouve dans l'espace de noms Fichier du wiki et sur Commons dont le titre ou le texte contient le mot "foo".
 * Ajoutez  à File: pour rechercher uniquement sur le wiki et pas sur Commons.
 * Ajoutez  à File: pour rechercher uniquement sur le wiki et pas sur Commons.

Vous ne pouvez pas utiliser de préfixe interwiki comme espace de noms pour effectuer des recherches dans d'autres projets.

Essayez avec cette orthographe
« Essayez avec cette orthographe » est une fonctionnalité qui repère les fautes d'orthographes dans les requêtes de recherches qui pourraient être des noms d'articles. Si c'est le cas, l'outil vous propose un remplacement. L'outil semble parfois suggérer davantage de propositions qu'il ne devrait.

Priorité pour les correspondances de phrases exactes
Si vous n'utilisez pas trop de syntaxe spécifique dans votre requête de recherche, la priorité est donnée pour une correspondance exacte de phrase. Je suis volontairement vague parce que je ne suis pas sûr précisément de ce à quoi devrait correspondre « trop de syntaxe spécifique ». Pour le moment, si vous utilisez des mots-clefs explicites dans votre requête, cette fonctionnalité est désactivée.

Recherche floue
Taper ~ après un terme recherché (sans guillemets) active la recherche floue. Vous pouvez aussi entrer un chiffre entre 0 et 2 pour paramétrer le degré de « flou », par exemple : nigtmare~0 ou lighnin~1 ou lighnin~2. Plus le coefficient est proche de 2, moins la recherche est floue.

Recherche d'expressions et proximité
Entourer certains mots de guillemets permet de préciser que vous cherchez ce groupe de mots ensemble. Vous pouvez ajouter un ~ et un nombre après le second guillemet pour contrôler à quel point vous souhaitez que les mots soient proches. La « proximité » par défaut est de zéro. 1 signifie qu'un mot entre les deux sera autorisé, et ainsi de suite. Pour plus de deux mots dans l'expression recherchée, la proximité équivaut au nombre total de mots supplémentaires autorisés, à condition que les mots de l'expression soient aussi dans le même ordre dans le texte, de gauche à droite.

For the closeness value of words given in right to left order, count and discard all the extra words, then add twice the the total count of remaining words minus one (in other words, add twice the number of segments). For the full proximity algorithm, see Elastic Search.

Un  explicite est uniquement nécessaire entre deux expressions entre guillemets à cause des guillemets « intérieurs ».

Guillemets et recherche exacte
Les guillemets autour de la recherche impliquent qu'elle soit exacte. Vous pouvez ajouter un tilde ~ avant les guillemets pour éviter ce comportement et revenir à celui par défaut.

prefer-recent:
Vous pouvez accorder une préférence aux articles récemment édités dans les résultats de recherche en ajoutant "prefer-recent:" au début de votre requête. Par défaut, cela liera 60% du score à une valeur variant de façon exponentielle avec la durée depuis la dernière modification (avec une demi-vie de 160 jours). Cette option peut être paramétrée ainsi : "prefer-recent:,". proportion_du_score_à_lier doit être un nombre entre 0 et 1 inclus. demi_vie_en_jours doit être un nombre supérieur à 0 mais peut être un nombre décimal. Ce nombre fonctionne bien s'il est très petit. J'ai testé des valeurs aux alentours de 0.0001, ce qui correspond à 8,64 secondes.

Ce sera activé par défaut sur Wikinews, mais il n'y a pas de raison à ce que vous ne puissiez pas l'utiliser dans vos recherches.

hastemplate:
Vous pouvez filtrer les pages en ne gardant que celles qui utilisent un modèle précis en ajoutant  à la recherche. Nous permettons le « sucre syntaxique » habituel pour les appels aux modèles. Cela signifie qu'on peut utiliser le nom de modèle permissif et le nom complet de la page avec les bonnes majuscules, ainsi que l’abréviation de l'espace de nom principal, « : ». Par exemple, pour trouver les pages qui contiennent "Quality image" (un modèle de Wikicommons), la requête (dans vos espaces de noms préférés) pourrait être :, et pour effectuer cette recherche dans l'espace de nom principal, ceci fonctionne :. Vous pouvez omettre les guillemets si le titre du modèle ne contient pas d'espaces. filtrera les pages qui contiennent ce modèle.

Pour un texte en wikicode faisant appel directement au modèle, vous pouvez utiliser, mais   développe les modèles inclus avant d'effectuer sa recherche. peut donc trouver un modèle qui n'est présent qu'en tant que « modèle secondaire » ou « meta-modèle », qui ne sont visible ni dans la source, ni dans le contenu, mais seulement inclus en tant qu'auxiliaire à un autre modèle produisant le contenu final. Tout le contenu d'un modèle est désormais visible dans les résultats de recherche, c'est la philosophie adoptée ici.

boost-templates:
Vous pouvez accorder une importance plus grande aux pages qui contiennent un modèle donné. Cela peut être réalisé directement dans la recherche via  ou en modifiant le message système   ce qui appliquera cette importance pour toutes les recherches. remplace le contenu de  s'il est spécifié. La syntaxe est un peu étrange mais a été choisie à des fins de simplicité. Quelques exemples :


 * Trouve les fichiers dans la Catégorie:Chine ordonnés d'abord par la qualité des images.
 * Trouve les fichiers dans la Catégorie:Chine ordonnés d'abord par la qualité des images.


 * Trouve les fichiers dans la Catégorie:Chine avec en premier les images de qualité puis les images de qualité inférieure.
 * Trouve les fichiers dans la Catégorie:Chine avec en premier les images de qualité puis les images de qualité inférieure.


 * Trouve les fichiers concernant le popcorn en classant en premier les images de qualité, puis les images de qualité inférieure en dernier. Rappelez vous que grâce à, ce message peut être réduit à juste.
 * Trouve les fichiers concernant le popcorn en classant en premier les images de qualité, puis les images de qualité inférieure en dernier. Rappelez vous que grâce à, ce message peut être réduit à juste.

N'essayez pas d'ajouter des valeurs décimales aux pourcentages. Cela ne fonctionnera pas et de toute façon la façon d'attribuer des scores aux images est conçu de telle manière à ce que cela n'ait que peut d'importance.

Un avertissement à propos de  : si vous ajouter de très très grands ou petits pourcentages, cela peut altérer l'évaluation des résultats de recherche de texte brut. Imaginez, par exemple, que enwiki augmente le score des articles de qualité d'un million de pourcent. Alors, les requêtes concernant des termes mentionnés dans des articles de qualité ne trouveraient en premier lieu que les articles de qualité avant même de vérifier la correspondance exacte des termes dans le titre. La correspondance d'expressions serait bouleversée de façon similaire de telle sorte qu'une requête comme  trouverait un article de qualité avec ces mots dispersés dans le corps de l'article au lieu de tomber sur Brave New World.

Sorry for the inconsistent  in the name. Sorry again but the quotes are required on this one. Sorry also for the funky syntax. Sorry we don't try to emulate the template transclusion syntax like we do with.

insource:
This can pick up template arguments, URLs, links, html, etc. It has two forms, one is an indexed search, and the other is regex based.

Tip: Instead of running a bare insource:/regexp/, these return much much faster when you limit the regexp search-domain to the results of one or more index-based searches. An "exact string" regexp search is a basic search; it will simply "quote" the entire regexp, or "backslash-escape" all non-alphanumeric characters in the string. All regexp searches also require that the user develop a simple filter to generate the search domain for the regex engine to search:



Any search without a namespace or prefix searches your default search domain, settable at Special:Search. It is commonly reset by power users to All namespaces, but if this occurs for a bare regexp search, then on a large wiki it will probably incur an HTML timeout before completing the search.

A regex search actually scours each page character-by character. By contrast, an indexed search actually queries a few records from a database separate from the wiki, and provides nearly instant results. When using a regex, include other search terms to limit the regex search domain as much as possible. There are many search terms that use an index and so instantly provide a highly refined search domain for the /regexp/. In order of general effectiveness:


 * insource:"" with quotation marks, duplicating the regexp except without the slashes or escape characters, is ideal.
 * intitle, incategory, and linksto are excellent filters.
 * "word1 word2 word3", with or without the quotation marks, are OK.
 * hastemplate: if it produces less than a few hundred thousand pages, is OK.
 * namespace: is practically useless, but may enable a slow regexp search to complete.

The prefix operator is especially useful with a { {FULLPAGENAME}} or a subdirectory argument. To develop a new regexp, or refine a complex regexp, use  in any edit box. Search terms that do not increase the efficiency of a regexp search are the page-scoring operators: morelike, boost-template, and prefer-recent.

Metacharacters
This section covers how to escape metacharacters. For the actual meaning of the metacharacters see the explanation of the syntax. For the formal definition see the Lucene grammar for regular expressions.

The use of a regexp to search for an exact string that includes non-alphanumeric characters is a basic search. It finds regular expression metacharacters literally by placing the entire regexp inside double quotation marks, which blindly "quotes" or "escapes" any possible metacharacters from their advanced search meaning. An advanced search usually escapes metacharacters one at a time with a backslash.

For example  matches a '2', a literal plus sign, another '2', an equals sign, a '4' and a literal dot, with one possible space character between each math term. The equals sign has no special, metacharacter meaning in CirrusSearch, and so need not be escaped, but its OK to escape or quote any character because it basically has no effect. An exact-string search usually "quotes" the regexp because this will neutralize all metacharacter meanings.

The square-bracket notation for creating your own character-class also escapes metacharacters. To target a literal right square bracket in your character-class pattern, it must be backslash escaped, otherwise it can be interpreted as the closing delimiter of the character-class pattern definition. The first position of a character class will also escape the right square bracket. Inside the delimiting square brackets of a character class, the dash character also has special meaning (range) but can it too can be included literally in the class the same way as the right square bracket can. For example both of these patterns target character that is either a dash or a right square bracket or a dot:  or.

Advanced example
For example, using metacharacters to find the usage of a template called Val having, inside the template call, an unnamed parameter containing a possibly signed, three to four digit number, possibly surrounded by space characters, AND on the same page, inside a template Val call, a named argument "fmt=commas" having any allowable spaces around it, (it could be the same template call, or a separate one):



It is fast because it uses two filters so that every page the regexp crawls has the highest possible potential. Assuming your search domain is set to ALL, it searches the entire wiki, because it offers no namespace or prefix.

bounded
You can limit search to pages identified as being near specified geographic coordinates. The coordinates can either be specified as a, pair, or by providing a page title from which to source the coordinates. A distance to limit the search to can be prepended if desired. Examples:


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

boosted
You can alternatively increase the score of pages within a specified geographic area. The syntax is the same as bounded search, but with boost- prepended to the keyword. This effectively doubles the score for pages within the search range, giving a better chance for nearby search results to be near the top.


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

Auxiliary text
Cirrus considers some text in the page to be "auxiliary" to what the page is actually about. Examples include table contents, image captions, and "This article is about the XYZ. For ZYX see ZYX" style links. You can also mark article text as auxiliary by adding the  class to the html element containing the text.

Auxiliary text is worth less than the rest of the article text and it is in the snippet only if there are no main article snippets matching the search.

Lead text
Cirrus assumes that non-auxiliary text that is between the top of the page and the first heading is the "lead in" paragraph. Matches from the lead in paragraph are worth more in article ranking.

Commons search
By default when the search contains the file namespace, Cirrus will search commons as well. You can disable this behavior by adding  to the search. If you are using a namespace prefix to select the namespace the syntax looks like. If you aren't using a namespace prefix to select the namespace then the syntax looks like.

Voir aussi

 * Completion Suggester - the incremental search feature of CirrusSearch
 * Completion Suggester - the incremental search feature of CirrusSearch
 * Completion Suggester - the incremental search feature of CirrusSearch