Help:CirrusSearch/de

Der schnellste Weg, etwas in Wikimedia-Projekten zu finden, ist, gezielt danach zu suchen. Auf jeder Seite befindet sich dazu ein Suchfeld mit einem Lupensymbol.

CirrusSearch ist eine MediaWiki-Erweiterung, die die Elasticsearch nutzt, um verbesserte Suchfunktionalitäten gegenüber der Standard-MediaWiki-Suche zur Verfügung zu stellen. Die Wikimedia Foundation nutzt CirrusSearch für alle Wikimedia-Projekte. Sie weist wesentliche Verbesserungen gegenüber der alten Suchmaschine LuceneSearch auf. Diese Seite beschreibt die Funktionen von CirrusSearch. Falls deine Frage hier nicht beantwortet wird, stelle sie auf der Diskussionsseite. Jemand wird dir dann darauf antworten.

Für Informationen zur MediaWiki-Erweiterung siehe Extension:CirrusSearch.

Wie die Suche funktioniert
Gib Schlüsselwörter und Ausdrücke in das Suchfeld ein und drücke Enter oder Return oder klicke – je nachdem, was vorhanden ist – auf das Lupensymbol, die Such- oder die „Los“-Schaltfläche. Wenn eine Seite denselben Titel hat wie dein Suchbegriff, wirst du direkt auf diese Seite geführt. In den anderen Fällen werden alle Seiten des Wikis durchsucht, und es erscheint eine Liste mit den Artikeln, die zum Suchbegriff passen, oder eine Mitteilung, dass keine Seite den Suchbegriff enthält.

Wenn du die Schaltfläche für die Suche drückst, ohne etwas in das Suchfeld eingetragen zu haben, öffnet sich die Seite Special:Search (oder ein übersetzte Version wie Spezial:Suche), die erweiterte Suchmöglichkeiten bietet (diese sind auch in jeder Liste mit Suchergebnissen verfügbar).

Es kann sinnvoll sein, die Suche auf Seiten innerhalb eines bestimmten Namensraumes zu beschränken, z. B. um nur auf Benutzerseiten zu suchen. Überprüfe die Namensräume, die für deine Suche benötigt werden.

Standardmäßig werden nur die Namensräume durchsucht, die in deinen Einstellungen aktiviert sind. Angemeldete Benutzer können ihre Einstellungen ändern, um die Namensräume, die standardmäßig durchsucht werden, nach ihren Wünschen zu ändern. Das ist möglich durch Aus- oder Abwählen der Checkboxen im Abschnitt Suche der Benutzereinstellungen.

Was wurde verbessert?
Die neue Suchmaschine weist drei wesentliche Verbesserungen gegenüber der alten Suchmaschine auf, namentlich:


 * Bessere Unterstützung für Suchanfragen in unterschiedlichen Sprachen.
 * Schnellere Aktualisierungen für den Suchindex, d. h. Änderungen an Artikeln werden viel schneller in den Suchergebnissen sichtbar.
 * Ausklappen von Vorlagen, d. h. der gesamte Vorlageninhalt von Artikeln wird in den Suchergebnissen angezeigt.

Wie oft wird der Suchindex aktualisiert?
Der Suchindex wird nahezu in Echtzeit aktualisiert. Seitenänderungen sollten unverzüglich in den Suchergebnissen erscheinen. Veränderungen an Vorlagen sollten in den Artikeln, die sie enthalten, innerhalb von Minuten wirksam werden. Da Veränderungen an Vorlagen in einer Warteliste abgearbeitet werden, kann die Performance variieren. Ein Null-Edit an dem Artikel wird die Veränderung erzwingen, dies sollte aber nicht nötig sein, solange alles normal verläuft.

Suchvorschläge
Die Vorschläge, die man in einem Dropdown-Menü erhält, wenn man etwas in das Suchfeld eingibt, sind grob nach Artikelqualität sortiert. Dazu werden die Zahl enthaltener Wikilinks auf jeder Seite, ihre Größe, die Menge an externen Links, die Anzahl der Überschriften und die Zahl der Weiterleitungen einbezogen. Suchvorschläge können übersprungen werden, Anfragen werden dann direkt zu den Suchergebnissen weitergeleitet. Schreibe eine Tilde  vor die Suchanfrage. Beispiel  . Die Suchvorschläge werden trotzdem noch erscheinen, aber durch Drücken der Eingabetaste kommst du wieder auf die Ergebnisseite. ASCII/Akzente/Diakritika sind für englische Texte aktiviert, doch es gibt beim Ergebnis ein paar Formatierungsprobleme. Siehe.

Volltextsuche
Eine Volltextsuche ist eine indizierte Suche. Alle Seiten werden in der Wiki-Datenbank gespeichert und alle darin enthaltenen Wörter werden in der Datenbank der Suche gespeichert, die ein Index zum Volltext des Wikis ist. Jedes sichtbare Wort wird in der Liste der Seiten indiziert, in denen es gefunden wurde, daher ist die Suche nach einem Wort so schnell wie das Nachschlagen eines einzelnen Eintrags. Weiterhin wird der Suchindex binnen Sekunden aktualisiert, falls Formulierungen geändert wurden. Es gibt viele Indexe zum Volltext eines Wikis, um die vielen benötigten Arten von Suchen zu erleichtern. Der gesamte Wikitext wird mehrmals zu vielen speziellen Indexen indiziert, während jeder davon den Wikitext so ausliest, wie es gerade optimal ist. Beispiel-Indexe beinhalten: Es existiert Unterstützung für Dutzende Sprachen, aber erwünscht werden alle. Es gibt eine Liste der momentan unterstützten Sprachen unter elasticsearch.org; siehe Dokumentation für Unterstützer, um Anfragen oder Patches beizutragen. CirrusSearch optimiert deine Anfrage und führt sie aus. Die ausgegebenen Titel, jedes Mal 20 auf einmal, werden für die Seite mit den Suchergebnissen nach Relevanz sortiert und stark nachbearbeitet. Beispielsweise werden Beispielausschnitte aus dem Artikel gesammelt und Suchbegriffe werden in Fettschrift hervorgehoben.
 * Hilfstext, einschließlich Notizen, Unterschriften, Inhaltsverzeichnissen und alle Wikitexte, die mit dem HTML-Attribut class=searchaux versehen wurden.
 * Einleitungstext, der Wikitext zwischen dem Anfang der Seite und der ersten Überschrift.
 * Der Kategorientext indiziert die Auflistungen im unteren Bereich.
 * Vorlagen werden indiziert. Wenn sich auf Seiten einbezogene Worte einer Vorlage ändern, dann werden alle Seiten aktualisiert, die diese einbeziehen. (Das kann eine lange Zeit in Anspruch nehmen, abhängig von der Warteschleife.) Wenn die Untervorlagen von einer Vorlagenänderung betroffen sind, wird der Index aktualisiert.
 * Dokumenteninhalte, die in dem Datei/Medien-Namensraum gespeichert sind, werden jetzt indiziert. Tausende von Formaten werden erkannt.

Suchergebnisse werden oft von verschiedenen einleitenden Mitteilungen begleitet. Diese können beinhalten: „Meinten Sie“ (Rechtschreibkorrektur), und, falls sonst keine Ergebnisse gefunden werden wurden, lautet die Ausgabe „Zeige Ergebnisse für“ (Korrektur der Anfrage) und „Suche stattdessen nach“ (deine Anfrage).

Suchmerkmale beinhalten auch:


 * Sortieren von Navigationsvorschlägen nach Anzahl der eintreffenden Links.
 * Beginnen mit dem Tilde-Zeichen, um Navigation und Vorschläge so zu deaktivieren, dass der Seitenrang beibehalten wird.
 * Smart-Matching von Zeichen durch Normalisierung (oder „Folding“) von Nicht-Keyboard-Zeichen zu Keyboard-Zeichen.* Wörter und Ausdrücke, die zutreffen, werden auf der Seite der Suchergebnisse in Fett hervorgehoben. Die Hervorhebung ist ein Analyse-Werkzeug nur für die Darstellung, zusätzlich zum Analyse-Werkzeug Suchindex, das die Seite eigentlich findet. Es kann sein, dass die Hervorhebung nicht immer zu 100% mit dem Suchbegriff übereinstimmt, vor allem für RegEx-Suchen. Die Hervorhebung kann genauer oder ungenauer sein als der Indexer.

Wörter, Ausdrücke und Modifikatoren
Der grundlegende Suchbegriff ist ein Wort oder ein  (Phrase). Die Suche erkennt ein Wort als:


 * ein Ziffernfolge.
 * eine Buchstabenfolge.
 * Unterwörter zwischen Übergängen von Buchstaben/Ziffern, wie z. B. in txt2regex.
 * Unterwörter innerhalb eines compoundName mithilfe von camelCase.

Ein Stoppwort ist ein Wort, das ignoriert wird (weil es häufig auftritt oder aus anderen Gründen). Ein gegebener Suchbegriff stimmt mit dem „Inhalt“ überein (der auf der Seite angezeigt wird). Um stattdessen nach Übereinstimmungen mit dem Wikitext zu suchen, wird der Suchparameter insource benötigt (Siehe Abschnitt unten). Jeder Suchparameter hat seinen eigenen Index und interpretiert den gegebenen Begriff auf seine eigene Art.

Abstände zwischen Wörtern, Ausdrücken, Parametern und Eingaben zu Parametern können großzügige Mengen an Leerzeichen und „Grauraum-Zeichen“ (greyspace characters) enthalten. Grauraum-/Greyspace-Zeichen sind alle nicht-alphanumerischen Zeichen. Eine gemischte Folge von Greyspace-Zeichen und Leerzeichen ist „Greyspace“ und wird wie eine große Wortgrenze behandelt. Indexe werden mit Greyspace gebildet und Anfragen werden interpretiert.

Zwei Ausnahmen sind erstens, wo ein embedded:colon ein Wort ist (wenn es als Buchstabe behandelt wird), und zweitens, wo ein eingebettetes Komma, so wie in, wie eine Zahl behandelt wird. Greyspace-Zeichen werden sonst ignoriert, außer sie können aufgrund der Syntax einer Anfrage als modifizierende Zeichen interpretiert werden.

Die Modifikatoren sind. Je nach Platzierung in der Syntax können sie auf einen Begriff zutreffen, auf einen Parameter oder eine gesamte Anfrage. Wort- und Ausdrucksmodifikatoren sind Wildcard-, Verwandtschafts- und ungenaue Suchen. Jeder Parameter kann seine eigenen Modifikatoren haben, aber allgemein gilt:


 * Eine ungenaue Wort- oder Ausdrucksuche kann mit einem angehängten Tildezeichen (und einer Zahl als Angabe des Grades) erfolgen.
 * Ein Tildezeichen, das einer Anfrage als Präfix vorangestellt wird, garantiert Suchergebnisse anstatt einer möglichen Navigation.
 * Ein Wildcard-Zeichen innerhalb eines Wortes kann ein (maskiertes) Fragezeichen  sein für ein Zeichen oder ein Stern   für mehrere.
 * Die Wahrheitslogik kann  und   interpretieren, Parameter können das jedoch nicht.
 * Die Wahrheitslogik versteht  oder   als Präfixe für einen Begriff, um die gewöhnliche Bedeutung des Begriffes von „Übereinstimmung“ zu „Ausschließen“ umzukehren.
 * Anführungszeichen kennzeichnen die Suche nach einem „genauen Ausdruck“. Bei Parametern werden sie auch benötigt, um Eingaben mit mehreren Wörtern zu abzugrenzen.
 * Stemming ist automatisch, kann aber durch die Benutzung eines „genauen Ausdrucks“ ausgeschaltet werden.

Eine Phrasensuche kann durch verschiedene Hinweise an die Suchmaschine ausgelöst werden. Jede Hinweismethode hat einen Nebeneffekt dahingehend, wie tolerant die Suche hinsichtlich Übereinstimmung mit der Wortsequenz sein wird. Bei greyspace, camelCase oder txt2number sind die Hinweise wie folgt: Die Mitteilung „Suche stattdessen nach“ wird ausgelöst, wenn ein allgemein unbekanntes Wort in einem Ausdruck ignoriert wird.
 * Bei Eingabe von „ words-joined_by_greyspace(characters) “ oder „ wordsJoinedByCamelCaseCharacters “ wird „ words joined by … characters “ gefunden, in reiner Form oder in Form von Greyspace.
 * zu „ txt2number “ wird eine Übereinstimmung mit „ “ oder „ “ gefunden.
 * Stoppwörter werden für Grenzen eines grey_space - oder camelCase -Ausdrucks aktiviert (an seinem Rand). Ein Beispiel im Englischen mit den Stoppwörtern the, of , und a ist die Übereinstimmung von „ the_invisible_hand_of_a “ mit.

Jede der folgenden Arten des Ausdrucksabgleichs enthält und erweitert die Toleranzen der vorherigen: Eine Wortsuche wird Wörter zusätzlich überall auf der Seite finden.
 * Ein „genauer Ausdruck“ (exact phrase)  toleriert (die Übereinstimmung mit) Greyspace. Über   oder   wird eine Übereinstimmung mit   gefunden.
 * Ein Greyspace-Ausdruck (greyspace_phrase) initiiert Stemming und die Überprüfung von Stoppwörtern.
 * Bei Eingabe von  wird zusätzlich   gefunden, alles kleingeschrieben. CirrusSearch legt keinen Wert auf Groß- und Kleinschreibung.

Einige Parameter interpretieren Greyspace-Ausdrücke, dagegen interpretieren andere Parameter wie insource lediglich den normalen Ausdruck in Anführungszeichen.

Bitte beachte, dass Groß- und Kleinschreibung bei Stemming keine Rolle spielt.

Beachte, wie die Suche nach einem „genauen Ausdruck“ (in Anführungszeichen) das embedded:colon-Zeichen als Buchstabe interpretiert hat, aber nicht das embedded_underscore-Zeichen. Ein ähnlicher Fall tritt auf bei einem Komma  innerhalb einer Zahl.

Bei Eingabe von  findet CirrusSearch im Kontext eines genauen Ausdrucks (der den Kontext des „insource“-Parameters beinhaltet) keine Übereinstimmung mit ,   oder  , sondern nur eine mit.

Andernfalls sei daran erinnert, dass für CirrusSearch Wörter aus Buchstaben, Zahlen oder einer Kombination von beidem bestehen und Groß- und Kleinschreibung keine Rolle spielen.

Die normale Wortsuche benutzt Leerzeichen und ist agressiv mit Stemming, und wenn die gleichen Wörter mit Greyspace-Zeichen oder camelCase verbunden werden, sind sie agressiv mit Ausdrücken und Unterwörtern.

Wenn häufige Wörter wie „von“ oder „der“ in einem Greyspace-Ausdruck vorkommen, werden sie ignoriert, um eine bessere Übereinstimmung zu finden.

Ein greyspace_phrase-Suchbegriff, camelCase- oder txt2number-Begriff stimmt mit den angegebenen Wörtern gleichermaßen überein. Man kann jede dieser drei Formen benutzen. Nun passt camelcase auch auf camelCase, weil die Suche nicht auf Groß- und Kleinschreibung achtet, aber camelCase passt auf camelcase , weil camelCase agressiver ist. Wie der Rest der Suche wird die Groß- und Kleinschreibung bei „Unterwörtern“ nicht beachtet. Im Vergleich dazu orientiert sich der „genaue Ausdruck“ am Greyspace und ignoriert Übergänge von Zahlen oder Buchstaben und Stemming. Ausdrücke mit Anführungszeichen achten nicht auf Groß- und Kleinschreibung.

Aus der Tabelle können wir annehmen, dass die grundlegende Suche  die Summe aus den grundlegenden Suchen   und   darstellt.

Wenn man Anfragen mit Zahlen machen würde, käme es zu folgenden Ergebnissen: Der Stern-Platzhalter * findet Abfolgen von Buchstaben und Ziffern innerhalb eines ausgegebenen Wortes, aber nie das Anfangszeichen. Ein oder mehr Zeichen, ein Teil des Wortes, muss vor dem * -Zeichen stehen. Die Wildcard \? stellt einen Buchstaben oder eine Zahl dar; *\? wird auch akzeptiert, aber \?* wird nicht erkannt.
 * Plan9 oder Plan_9 passt zu:,  ,  ,  ,
 * "plan9" passt nur zu  (ungeachtet von Groß- und Kleinschreibung)
 * Plan*9 passt zu  oder.
 * Wenn der Teil zu Beginn nur aus Buchstaben besteht, wird der Abgleich auf eine Folge von (null oder mehr) Buchstaben begrenzt.
 * Wenn es sich nur um Zahlen handelt, wird der Abgleich auf eine Sequenz von (null oder mehr) Zahlen begrenzt, einschließlich Ordinalbuchstaben (st, nd, rd), Großbuchstaben, oder Zeitabkürzungen (am oder pm); und wird nur mit der Gesamtheit (beider Seiten) von Dezimalzahlen übereinstimmen.
 * Andernfalls wird das Komma als Teil einer Zahl gesehen, doch der Dezimalpunkt wird als Greyspace-Zeichen gesehen und trennt zwei Zahlen voneinander.
 * Innerhalb eines „genauen Ausdrucks“ stimmt er überein mit Stemming plus Komposita.

Die Wildcards dienen als grundlegende Wort-, Phrasen- und Insource-Suchen und können auch eine Alternative zu (einigen) fortgeschrittenen Regex-Suchen sein (werden später noch behandelt).

Das Setzen einer Tilde ~ hinter ein Wort oder einen Ausdruck aktiviert eine ungenaue Suche.
 * Bei einem Ausdruck wird es als „Näherungssuche“ bezeichnet, weil benachbarte Wörter bis zu einer bestimmten Entfernung toleriert werden statt bei einem „genauen Ausdrucks“.
 * Beispielsweise stimmt "exact one two phrase"~2 überein mit.
 * Bei einem Wort bedeutet es zusätzliche Buchstaben oder veränderte Buchstaben.
 * Bei einem Ausdruck benötigt eine ungenaue Suche eine ganze Zahl, die aussagt, wie viele zusätzliche Wörter hineinpassen sollen, doch bei einem Wort kann eine ungenaue Suche einen Dezimalbruch enthalten; der Standard ist word~0.5 ( word~.5 ), mit dem in den meisten Fällen zwei vertauschte Buchstaben gefunden werden können, verändert oder hinzugefügt, doch niemals die ersten beiden Buchstaben.
 * Bei einer Näherungssuche mit einem Ausdruck kann eine große Zahl benutzt werden, doch das ist eine „teure“ (langsame) Suche.
 * Bei einem Wort ist word~.1 am ungenauesten und word~.9 ist am wenigsten ungenau; word~1 ist überhaupt nicht ungenau.

Damit der benötigte Näherungswert in umgekehrter Reihenfolge (von rechts nach links) übereinstimmt, zähle und verwerfe alle zusätzlichen Wörter, addiere dann zweimal die Summe der restlichen Wörter minus eins. (Mit anderen Worten, addiere das Doppelte der Anzahl der Segmente). Für den vollständigen Näherungsalgorithmus siehe Elasticsearch slop. Ein explizites AND wird zwischen zwei Ausdrücken benötigt, weil die beiden „inneren“ Anführungszeichen sonst verwechselt werden. Die Verwendung von Anführungszeichen deaktiviert Stemming, das Anhängen der Tilde ( "but appending"~ ) reaktiviert Stemming.

Insource
Insource-Suchen können verwendet werden, um jedes „Wort“ zu finden, das auf einer Seite dargestellt wird, aber sie sind dafür entwickelt worden, jeden Ausdruck zu finden, den man finden möchte, – inklusive MediaWiki-Auszeichnungen. Dieser Ausdruck ignoriert vollkommen Greyspace: insource: "state state autocollapse" passt zu. Insource ergänzt sich selbst. Auf der einen Seite ist es eine Volltextsuche, um sofort jedes Wort im Wikitext zu finden. Auf der anderen Seite kann es eine RegEx-Suche nach jeder Zeichenfolge ausführen. RegEx/RegExp (regular expressions, reguläre Ausdrücke) scannen alle Textzeichen in einer vorgegebenen Seitenliste; sie besitzen keinen Wortindex, der die Suchgeschwindigkeit erhöhen würde, und der Prozess wird abgebrochen, wenn er länger als 20 Sekunden benötigt. RegEx laufen als letztes; um daher eine unnötige Zeichenebenen-Überprüfung einzuschränken, übergibt man ihnen eine Seitenliste (eine Suchdomain), die zuvor durch eine indizierte Suche ausgewählt wurde, welche als „Klausel“ (weitere Bedingung) zur Suche hinzugefügt wurde, und das macht man bei jeder einzelnen RegEx-Suche. Insource kann beides, und die bessere Variante anstelle von  ist oft , wobei arg bei beiden dasselbe ist.

Die Syntax für die RegEx-Suche ist insource: und dann /regexp/ ohne Leerzeichen dazwischen. (Kein anderer Parameter untersagt ein Leerzeichen. Alle Parameter außer insource:/regexp/ akzeptieren generös Leerzeichen nach ihrem Doppelpunkt.)

Die beiden Funktionen der Insource-Suche, indizierte und Regex-Suche, sind in vielerlei Hinsicht ähnlich: Aber alle indizierte Suchen ignorieren Greyspace, und Wildcard-Suchen finden keinen Greyspace; daher sind RegEx-Suchen der einzige Weg, eine exakte Folge irgendwelcher Zeichen zu finden, beispielsweise zwei aufeinander folgende Leerzeichen. RegEx sind eine völlig eigenständige Klasse eines Suchwerkzeugs, die die Suche nach einer einfachen Zeichenfolge (Zeichenliteral) grundsätzlich einfach macht. Fortgeschrttene RegEx sind eine vollkommen andere Herausforderung, siehe dazu unter Suche mit regulären Ausdrücken.
 * Beide durchsuchen ausschließlich Wikitext.
 * Keine von beiden findet Ausdrücke, die durch Transklusion in den Text gelangt sind.
 * Keine macht Suchen mit Stemming, ungenaue und Näherungssuchen.
 * Beide wollen die wenigstens Ergebnisse, und beide arbeiten schneller, wenn man ihnen eine Suchbedingung hinzufügt.

Prefix und Namensraum
Ein Namensraum-Ausdruck dient der Suche, den anfänglichen Suchbereich anzugeben. Der Standard ist statt einer Suche im gesamten Wiki der Hauptnamensraum (in Wikipedias der Artikelnamensraum).

Nur ein Namensraum kann im einfachen Suchfeld angegeben werden. Das muss entweder der erste Ausdruck sein oder der letzte zusammen mit dem Parameter prefix.

Zwei oder mehr Namensräume können über den Abschnitt „Erweitert“ in der vollständigen Suchleiste gesucht werden, die auf jeder Seite mit Suchergebnissen oder über Special:Search (oder eine übersetzte Version wie Spezial:Suche) verfügbar ist. Dein Suchbereich kann dort als Namensraum-Profil gespeichert werden, ohne in die Nutzereinstellungen zu gehen. Die Liste der Namensräume ist dann bei jeder zukünftigen Suche auf der ersten Seite zu finden, um den Suchbereich der Ergebnisse anzuzeigen. Um das wieder zurückzustellen, wähle den Standardnamensraum aus (angezeigt in runden Klammern), aktiviere „Auswahl für zukünftige Suchanfragen merken“ und führe eine Suche durch.

Die Suchleiste setzt einen Suchbereich und zeigt sie grafisch an. „Inhaltsseiten“ (Hauptnamensraum), „Multimedia“ (Dateien), „Alles“ ( und  ), „Übersetzungen“ usw. sind Hyperlinks, die den jeweiligen Suchbereich aktivieren und dies anzeigen, indem sie inaktiv werden (Schrift wechselt Farbe). Einträge im Suchfeld überschreiben jedoch die Einstellungen der Suchleiste. Wenn ein Namensraum oder  explizit angegeben ist, können die Angaben aus der Suchleiste irreführend sein. Die Suchleiste und das Suchfeld stellen daher nicht komplementäre (sich gegenseitig ausschließende) Methoden dar, den Suchbereich einzustellen.

Ein Namensraumausdruck überschreibt die Suchleiste, und ein prefix -Ausdruck überschreibt eine Namensraumangabe.

Gib einen Namensraum ein oder  für alle Namensräume oder   für den Hauptnamensraum. „Alles“ beinhaltet nicht den Dateinamensraum. „Multimedia“ schließt Medieninhalte ein, die in Commons gespeichert sind, wie PDF, die alle indiziert und durchsuchbar sind. Im Dateinamensraum zeigt der Namensraummodifikator  Wirkung, sonst wird er ignoriert. Namensraumaliasse werden akzeptiert. Wie alle Suchparameter müssen  und   in Kleinbuchstaben geschrieben werden. Für die Namensraumbezeichnungen ist es dagegen egal.

Der Parameter prefix: passt auf jede Zahl von Startzeichen aller Seiten eines Namensraumes. Wenn die ersten Zeichen auf einen Namensraum und einen Doppelpunkt passen, dann wird der Suchbereich geändert. Ist allein ein Namensraum angegeben, wird prefix auf alle seine Seitennamen passen. Ist nur ein Zeichen angegeben, darf es kein Bindestrich, einfaches Anführungszeichen   oder doppeltes Anführungszeichen   sein. Das letzte Zeichen darf kein Doppelpunkt sein. Bei Seitennamen, die passen, passen per Definition auch die Titel ihrer Unterseiten. Der Parameter  erlaubt kein Leerzeichen vor einer Namensraumangabe, aber Leerraum vor einem Seitennamen.

Der Parameter prefix steht am Ende, damit die Zeichen für die Seitennamen doppelte Anführungszeichen  enthalten können.

Die Extension:Translate erschafft eine Art von „Sprachnamensraum“ für übersetzte Versionen einer Seite (wie dieser hier). Aber anders als die Angabe von Namensraum oder prefix, die den anfänglichen Suchbereich erzeugen, ist der Parameter inlanguage ein Filter dafür (siehe nächsten Abschnitt).

Filter
Ein Filter darf mehrmals auftreten, auch negiert; er darf auch allein auftreten, um einen Suchbereich zu filtern. Eine Suche wird aus Begriffen gebildet, die einen Suchbereich filtern. Ein Namensraum- oder prefix -Ausdruck ist kein Filter, denn ein Namensraum allein wird keine Ergebnisse liefern und prefix kann nicht negiert werden.

Das Hinzufügen eines zusätzlichen Wortes, Ausdrucks oder Parameters bewirkt eine weitere Filterung. Ein stark verfeinertes Suchergebnis kann sehr viele Positiv-/Negativfilter enthalten, wenn jede Seite in den Ergebnissen gefunden wird (in diesem Fall ist das Ranking stark irrelevant). Die Filterung reagiert empfindlich auf die Ergänzung von RegEx-Ausdrücken; man sollte möglichst wenige Seiten übrig haben, bevor RegEx angewendet wird (denn dieses kann auf keinen vorbereiteten Index für seine Suche zurückgreifen).

Die folgenden Suchparameter sind Filter. Insource (oben behandelt) ist ebenfalls ein Filter, aber insource:/regexp/ ist es nicht. Filter und alle anderen Suchparameter müssen in Kleinbuchstaben angegeben werden (Namensraumangaben bilden eine Ausnahme, da dies bei ihnen keine Rolle spielt).

Intitle und incategory
Wort und Ausdruckssuche passen auf Seitentitel und auf die Kategorien, die am unteren Ende der Seite eingetragen sind. Mit diesen Parametern aber kann man ausschließlich nach Seitentiteln suchen oder eine Kategoriesuche allein durchführen.

 intitle  und  incategory  sind alte Suchparameter. Incategory führt keine automatische Suche in einer Unterkategorie mehr durch, man kann mittlerweile aber vielfach weitere Kategorienamen manuell hinzufügen. Um Zugriff auf den Suchparameter   zu erhalten und so automatisch bis zu 70 Unterkategorien bei incategory zu ergänzen (in der Art incategory:category1|category2|...|category70 ), kann man eine Zeile in sein Benutzerscript eintragen, siehe auch de:Hilfe:Suche/Deepcat.
 * cow*
 * Finde Artikel, deren Titel oder Text Wörter enthält, die mit „cow“ beginnen.
 * intitle:foo
 * Findet Artikel, deren Titel „foo“ enthält. Stemming für „foo“ ist aktiviert (auch „food“ und „fool“ werden gefunden).
 * intitle:"fine line"
 * Findet Artikel, deren Titel „fine line“ enthält. Stemming ist deaktiviert („fine lines“ wird nicht gefunden).
 * intitle:foo bar
 * Findet Artikel, deren Titel „foo“ enthält und deren Titel oder Text „bar“ enthält.
 * -intitle:foo bar
 * Findet Artikel, deren Titel nicht „foo“ enthält und deren Titel oder Text „bar“ enthält.
 * incategory:Music
 * Findet Artikel aus „Category:Music“ („Category“ eventuell übersetzt zu „Kategorie“).
 * incategory:"music history"
 * Findet Artikel aus „Category:Music_history“.
 * incategory:"musicals" incategory:"1920"
 * Findet Artikel, die sich sowohl in „Category:Musicals“ als auch in „Category:1920“ befinden.
 * -incategory:"musicals" incategory:"1920"
 * Findet Artikel, die nicht in „Category:Musicals“ enthalten sind, aber in „Category:1920“.

Linksto
Linksto finds wikilinks to a given name, not links to content. The input is the canonical, case sensitive, page name. It must match the title line of the content page, exactly, before any title modifications of the letter-case. (It must match its { {FULLPAGENAME}}, e.g. .)

Linksto does not find redirects. It only finds [ [wikilinks]], even when they are made by a template. It does not find a link made by a URL, even if that URL is an internal wiki link.

To find all wikilinks to a "Help:Cirrus Search", if "Help:Searching" and "H:S" are redirects to it:
 * 1) linksto: "Help:Cirrus Search"
 * 2) linksto: Help:Searching
 * 3) linksto: H:S

finds articles that mention "CirrusSearch" but not in a wikilink.

Hastemplate
You can specify template usage with. Input the canonical pagename to find all usage of the template, but use any of its redirect pagenames finds just that naming. Namespace aliases are accepted, capitalization is entirely ignored, and redirects are found, all in one name-search. (Compare boost-template no default namespace; linksto no namespace aliases, case-sensitive, no redirects; intitle no redirects.)

Hastemplate finds secondary (or meta-template) usage on a page: it searches the post-expansion inclusion. This is the same philosophy as for words and phrases from a template, but here it's for templates from a template. The page will be listed as having that content even though that content is not seen in the wikitext.


 * hastemplate: "quality image", finds "Template:Quality image" usage in your default search domain (namespaces).
 * : hastemplate: portal:contents/tocnavbar, finds mainspace usage of a "Contents/TOCnavbar" template in the Portal namespace.

For installations with the Translate extension, hastemplate searches get interference wherever Template:Translatable template name wraps the template name of a translatable template. Use insource instead.

Inlanguage
For installations with the Translate extension, inlanguage is important for highly refined searches and page counts.


 * inlanguage: language code

will produce search results in that language only.

For example


 * to count all Japanese pages on the wiki
 * all: inlanguage: ja


 * to filter out German and Spanish pages in the Help namespace
 * help: -inlanguage: de -inlanguage: es


 * to ignore Translate, and where English is the base language, add
 * inlanguage:en

Page weighting
Weighting determines snippet, suggestions, and page relevance. The normal weight is one. Additional weighting is given through multipliers.

If the query is just words, pages that match them in order are given a boost. If you add any explicit phrases to your search, or for certain other additions, this "prefer phrase" feature is not applied.

Morelike
The morelike: query works by choosing a set of words in the input articles and run a query with the chosen words. You can tune the way it works by adding the following parameters to the search results URL: These settings can be made persistent by overriding  in Special:MyLanguage/Help:System message.
 * morelike:page name 1|page name 2|...|page name n
 * Find articles whose text is most similar to the text of the given articles.
 * morelike:wasp|bee|ant
 * Find articles about stinging insects.
 * morelike:template:search|template:regex|template:usage
 * Find templates about regex searching for template usage on the wiki.
 * cirrusMltMinDocFreq : Minimum number of documents (per shard) that need a term for it to be considered.
 * cirrusMltMaxDocFreq : Maximum number of documents (per shard) that have a term for it to be considered.
 * cirrusMltMaxQueryTerms : Maximum number of terms to be considered.
 * cirrusMltMinTermFreq : Minimum number of times the term appears in the input to doc to be considered. For small fields ( title ) this value should be 1.
 * cirrusMltMinWordLength : Minimal length of a term to be considered. Defaults to 0.
 * cirrusMltMaxWordLength : The maximum word length above which words will be ignored. Defaults to unbounded (0).
 * cirrusMltFields (comma separated list of values): These are the fields to use. Allowed fields are title, text , auxiliary_text , opening_text , headings and all.
 * cirrusMltUseFields ( | ): use only the field data. Defaults to : the system will extract the content of the   field to build the query.
 * cirrusMltPercentTermsToMatch : The percentage of terms to match on. Defaults to 0.3 (30 percent).
 * Example:

Prefer-recent
Adding prefer-recent: anywhere in the query gives recently edited articles a slightly larger than normal boost in the page-ranking rules.

It defaults to boost only 60% of the score, in a large, 160 day window of time, which can be entered in the query as prefer-recent:0.6,160. This plays well with other page ranking rules, and is intended for most searches.

You can manipulate the rules: prefer-recent:boost,recent Technically "boost" is the proportion of score to scale, and "recent" is the half life in days. The boost is more than the usual multiplier, it is an exponential boost. The factor used in the exponent is the time since the last edit.

For example
 * prefer-recent:,7

Pages older than 7 days are boosted half as much, and pages older than 14 days are boosted half as much again, and so on.

For a simple "sort by date" in highly refined search results, where page ranking and boosting are largely meaningless, just boost the entire score:
 * 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)

Boost-templates
You can boost pages' scores based on what templates they contain. This can be done directly in the search via  or you can set the default for all searches via the new   message. replaces the contents of  if the former is specified. The syntax is a bit funky but was chosen for simplicity. Some examples:


 * File:boost-templates:"Template:Quality Image|200%" incategory:china
 * Find files in the China category sorting quality images first.


 * File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" incategory:china
 * Find files in the China category sorting quality images first and low quality images last.


 * File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" popcorn
 * Find files about popcorn sorting quality images first and low quality images last. Remember that through the use of the  message this can be reduced to just.

Don't try to add decimal points to the percentages. They don't work and search scoring is such that they are unlikely to matter much.

A word of warning about : if you add really really big or small percentages they can poison the full text scoring. Think, for example, if enwiki boosted featured articles by a million percent. Then searches for terms mentioned in featured articles would find the featured articles before exact title matches of the terms. Phrase matching would be similarly blown away so a search like w:Brave New World would find a featured article with those words scattered throughout it instead of the article for Brave New World.

Regular expression searches
A basic indexed-search finds words rendered visible on a page. Hyphenation and punctuation marks and bracketing, slash and other math and computing symbols, are merely boundaries for the words. It is not possible to include them in an indexed search.

These return much much faster when you limit the regexp search-domain to the results of one or more index-based searches.

Warning: Do not run a bare insource:/regexp/ search. It will probably timeout after 20 seconds anyway, while blocking responsible users.

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:
 * 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}}

The last example works from a link on a page, but { {FULLPAGENAME}} doesn't function in the search box.

For example: ' [[Special:Search/insource:/regex/ prefix:| finds the term regex'' on this page ]].

A query with no namespace specified and no prefix specified searches your default search domain, (settable on any search-results page, i.e. at Special:Search). Some users keep their default search domain at "all namespaces", i.e. the entire wiki. On a large wiki if this user does a bare regexp search it will probably fail, incurring an HTML timeout, before completing the search.

A regex search actually scours each page in the search domain character-by character. By contrast, an indexed search actually queries a few records from a database separately maintained from the wiki database, and provides nearly instant results. So when using using an insource:// (a regexp of any kind), consider creating one the other search terms that will limit the regex search domain as much as possible. There are many search terms that use an index and so instantly provide a more refined search domain for the /regexp/. In order of general effectiveness: To test a bare regexp query you can create a page with test patterns, and then use the prefix parameter with that fullpagename. The match will be highlighted. It searches that page (in the database) and its subpages.
 * insource:"" with quotation marks, duplicating the regexp except without the slashes or escape characters, is ideal.
 * intitle, incategory, and linksto are excellent filters.
 * hastemplate: is a very good filter.
 * "word1 word2 word3", with or without the quotation marks, are good.
 * namespace: is practically useless, but may enable a slow regexp search to complete.

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 used in rexexp searches For the actual meaning of the metacharacters see the explanation of the syntax.

Zum Beispiel: Refining with an exact string. You can start out intending an exact string search, but keep in mind: There are two ways to escape metacharacters. They are both useful at times, and sometimes concatenated side-by-side in the escaping of a string. Double-quotes escaping using insource:/"regexp"/ is an easy way to search for many kinds of strings, but you can't backslash-escape anything inside a double-quoted escape. Backslash-escape using insource:/regexp/ allows escaping the " and / delimiters, but requires taking into account metacharacters, and escaping any: The simplest algorithm to create the basic string-finding expression using insource:/"regexp"/, need not take metacharacters into account except for the " and / characters:
 * to search a namespace, gauge the number of pages with a single term that is a namespace. This will list the number of pages in that namespace.
 * starting out to find again what you may have seen, like "wiki-link" or "(trans[in]clusion)" start with namespace and insource filters.
 * refinining an ongoing search process with what you want to see, like "2 + 2 = 4", or "site.org" This is ideally the best use of regex, because it adds it as a single regexp term while refining a search, the limited number of pages the regexp must crawl is can be seen.
 * regex only search the wikitext not the rendered text, so there are some differences around the markup, and even the number of space characters must match precisely.
 * You are obligated to supply an accompanying filter.
 * You must learn how to escape regex metacharacters.
 * Backslash-escape one of them \char. The insource:/regexp/ uses slashes to delimit the regexp. Giving /reg/exp/ is ambiguous, so you must write /reg\/exp/.
 * Put a string of them in double quotes "string". Because escaping a character can't hurt, you can escape any character along with any possible metacharacters in there. Escaping with quotes is cleaner.
 * You can't mix methods, but you can concatenate them.
 * instead of
 * is as good as
 * But  always.
 * And .  It finds the   literally, which is not the   you probably wanted.
 * To match a  delimiter character use.
 * To match a  delimiter character use.
 * The metacharacters would be.
 * The equivalent expression is.
 * 1) Write   out. (The /" delimiters "/ are not shown.)
 * 2) Replace   with   (previous double-quote: stop, concatenate, quote restart).
 * 3) Replace   with   (stop, concatenate, start).
 * 4) You get , showing concatenation of the two methods.

The square-bracket notation for creating your own character-class also escapes its 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 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 a character that is either a dash or a right square bracket or a dot:  or.

For general examples using metacharacters: There are some notable differences from standard regex metacharacters:
 * insource:"2+2=4" insource:/"2+2=4"/ matches "2 + 2 = 4", with zero spaces between the characters.
 * insource:"2 + 2 = 4" insource:/2 ?\+ ?2 ?= ?4\./ match with zero or one space in between. The equals = sign is not a metacharacter, but the plus + sign is.
 * insource:"[ [link|2\3?]]\" insource:/"[ [link|2\3?]]< "\/" tag>"/.
 * The dot . metacharacter stands for any character including a newline, so .* matches across lines.
 * The number # sign means something, and must be escaped.
 * The ^ and $ are not needed. Like "grep" (global per line, regular expression, print each line), each insource:// is a "global per document, regular expression, search-results-list each document" per document.
 * support a multi-digit numeric range like [0-9] does, but without regard to the number of character positions, or the range in each position, so <9-10> works, and even <1-111> works.

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 having any allowable spaces around it, (it could be the same template call, or a separate one):



Note that the = sign in "fmt commas" is not needed but that adding it would not change the search results. It is fast because it uses two filters so that every page the regexp crawls has the highest possible potential.

bounded
You can limit search to pages identified as being near some 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

File properties search
Since MediaWiki 1.28, CirrusSearch supports indexing and searching of properties of files in the  namespace. This includes:
 * file media type
 * MIME type
 * size
 * width & height
 * resolution
 * bit depth for files that support these

filetype
Searching for file type allows to retrieve files according to their classification, such as office documents, videos, raster images, vector images, etc. The following types currently exist:



This list may be extended in the future. See also  constants in.

The syntax of the search is: filetype:{type}. Example:

filetype:video - looks for all videos

The filetype search is not case-sensitive.

filemime
Matches file MIME type. The syntax is:

filemime:{MIMEtype} - look for files of this MIME type

The argument can be quoted to specify exact match. Without quotes, partial matches to components of MIME type will be accepted too.

Beispiele:

filemime:"image/png" - look for files with MIME type exactly

filemime:pdf - look for all PDF documents

The MIME type search is not case sensitive.

filesize
Search for file of given size, in kilobytes (kilobyte means 1024 bytes). The syntax is:

filesize:{number} or filesize:>{number} - file with size at least given number

filesize:<{number} - file with size no more than given number

filesize:{number},{number} - file with size between given numbers

Beispiele:

filesize:>20 or filesize:20 - files 20KB and bigger

filesize:<1024 - files smaller than 1MB

filesize:100,500 - files with sizes between 100KB and 500KB

File measures
It is possible to search for specific file measures: width, height, resolution (which is defined as square root of height × width), and bit depth. Not all files may have these properties. The syntax is:

{measure}:{number} - file with measure that equals to given number

{measure}:>{number} - file with measure that is at least given number

{measure}:<{number} - file with measure that is no more than given number

{measure}:{number},{number} - file with measure that is between given numbers

Where  can be:

filew oder filewidth - Dateibreite

fileh oder fileheight - Dateilänge

fileres - file resolution (see above)

filebits - Datei-Bitrate

Beispiele:

filew:>800 fileh:>600 - Dateien die größer als 800x600 Pixel sind

filebits:16 - Dateien mit 16-Bit-Farbrate

fileheight:100,500 - file between 100 and 500 pixels high

Siehe auch

 * Completion Suggester - the incremental search feature of CirrusSearch
 * See Search/Old for more on the development and debut of of CirrusSearch.
 * See Help:Searching for MWSearch, used by the many wikis that don't have a search extension.
 * See Help:Searching for MWSearch, used by the many wikis that don't have a search extension.

Externe Links

 * From Lucene, highly relevant documentation.