Help:CirrusSearch/de

CirrusSearch ist eine MediaWiki Erweiterung welche die Elasticsearch nutzt um verbesserte Suchfunktionalitäten gegenüber der Standard MediaWiki Suche zu Verfügung stellt. 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 der 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.

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. Du solltest nach deinen Änderungen suchen können, sobald du sie gemacht hast. Veränderungen an Templates sollten in den Artikeln, die sie enthalten, innerhalb von "Minuten" wirksam werden. Da Veränderungen an Templates 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
Wenn du etwas in das Suchfeld eingibst, das dir mögliche Seiten zur Auswahl gibt, dann sind die Ergebnisvorschläge, die du erhältst, inhaltlich dieselben wie die Artikel, sortiert nach der Anzahl der eingehenden Links. This takes into account the number of incoming wikilinks, the size of the page, the number of external links, the number of headings, and the number of redirects. Suchvorschläge können übersprungen werden und Anfragen werden direkt zu den Suchergebnissen weitergeleitet. Schreibe eine Tile  vor die Suchanfrage. Beispiel "~Frida Kahlo". 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 indiziert zu der Liste der Seiten, wo es gefunden wurde, daher ist die Suche nach einem Wort so schnell wie einen einzelnen Eintrag nachzuschlagen. 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: Tausende von Formaten werden erkannt. Es gibt Übersetzungen für dutzende Sprachen, aber es werden alle gebraucht. 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 werden nach Relevanz sortiert und stark nachbearbeitet, jedes Mal 20, für die Seite mit den Suchergebnissen. Beispielsweise werden Beispielausschnitte aus dem Artikel gesammelt und Suchbegriffe werden in Fettschrift hervorgehoben.
 * "Hilfs-"text, einschließlich Notizen, Unterschriften, ToC, und alle Wikitexte, die mit dem HTML-Attribut class=searchaux versehen wurden
 * "Einleitungs-"text ist der Wikitext zwischen dem Anfang der Seite und der ersten Überschrift.
 * Der "Kategorie"-Text indiziert die Listen im unteren Bereich.
 * Vorlagen werden indiziert. Wenn sich mit einbezogene Worte einer Vorlage ändern, dann werden alle Seiten aktualisiert, die es 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.

Suchergebnisse werden oft von verschiedenen vorläufigen Berichten begleitet. Diese beinhalten "Meinten Sie" (Rechtschreibkorrektur), und, falls sonst keine Ergebnisse gefunden werden würden, 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 Phrasen, die zutreffen, werden auf der Seite der Suchergebnisse in Fett hervorgehoben.

Wörter, Phrasen und Modifikatoren
Der grundlegende Suchbegriff ist ein Wort oder eine "Phrase in Anführungszeichen". Die Suche erkennt ein "Wort" als: 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 insource Suchparameter benötigt (Siehe section unten). Jeder Suchparameter hat seinen eigenen Index und interpretiert den gegebenen Begriff auf seine eigene Art.
 * 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

Abstände zwischen Wörtern, Phrasen, Parametern und Eingaben zu Parametern können großzügige Mengen an Leerzeichen und "Greyspace-Zeichen". "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 1) wo ein embedded:colon ein Wort ist (wenn es als Buchstabe behandelt wird) und 2) wo ein eingebettetes Komma, so wie in 1,2,3, 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 Phrasenmodifikatoren sind Wildcard-, Verwandtschafts- und ungenaue Suchen. Jeder Parameter kann seine eigenen Modifikatoren haben, aber allgemein gilt:
 * Eine ungenaue Wort- oder Phrasensuche kann ein Tilde  Zeichen (und eine Zahl mit Angabe des Grades) mit einem Suffix versehen
 * Ein Tilde  Zeichen, das eine Anfrage mit Präfix versieht, garantiert Suchergebnisse anstatt von irgendeiner möglichen Navigation.
 * Ein Wildcard-Zeichen innerhalb eines Wortes kann ein (entwischtes) Frage \? zeichen sein für ein Zeichen oder ein Asterisk * Zeichen für mehr.
 * Die Wahrheitslogik kann AND und OR interpretieren, Parameter jedoch nicht.
 * Die Wahrheitslogik versteht - oder ! als Präfixe für einen Begriff, um die gewöhnliche Bedeutung des Begriffes von "Übereinstimmung" und "Ausschließen" umzukehren.
 * Anführungszeichen kennzeichnen die Suche nach einem "genauen Ausdruck". Bei Parametern werden sie auch benutzt, um Eingaben mit mehreren Wörtern zu begrenzen.
 * Stemming ist automatisch, kann aber durch die Benutzung eines "genauen Ausdrucks" ausgeschaltet werden.

Eine Phrasensuche kann von verschiedenen Hinweisen an die Suchmaschine initiiert werden. Jede Methode des Hinweisens hat einen Nebeneffekt dahingehend, wie tolerant die Übereinstimmung mit der Wortsequenz sein wird. Bei greyspvce, camelCase, oder txt2number sind die Hinweise wie folgt: Ein Bericht einer "Suche stattdessen nach" wird ausgelöst, wenn ein allgemein unbekanntes Wort in einem Ausdruck ignoriert wird.
 * über words-joined_by_greyspace(characters) oder wordsJoinedByCamelCaseCharacters wird words joined by gefunden ... characters, in reiner Form oder in Form von Greyspace.
 * zu txt2number wird eine Übereinstimmung mit  oder   gefunden.
 * Stoppwörter werden für Grenzfälle aktiviert (in der Peripherie) eines grey_space oder camelCase Ausdrucks. Ein Beispiel mit the, of , und a ist die Übereinstimmung von the_invisible_hand_of_a mit.

Jede der folgenden Arten des Phrasen-Abgleichs enthält und erweitert die Toleranzen der vorherigen: Eine Wortsuche findet "zusätzlich" überall auf der Seite Wörter.
 * Ein "genauer Ausdruck" "in Anführungszeichen" toleriert (die Übereinstimmung mit) Greyspace. Über "exact_phrase" oder "exact phrase" wird eine Übereinstimmung mit  gefunden.
 * Ein greyspace_phrase initiiert Stemming und die Überprüfung von "Stoppwörtern".
 * Über CamelCase 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" das embedded:colon-Zeichen als Buchstabe interpretiert hat, aber nicht das embedded_underscore Zeichen. Ein ähnlicher Fall tritt auf bei einem Komma, Zeichen innerhalb einer Zahl.

Über  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 Phrasen 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. Jetzt stimmt camelcase mit camelCase überein, weil die Suche nicht auf Groß- und Kleinschreibung achtet, aber camelCase stimmt mit camelcase überein, 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. "Phrasen mit Anführungszeichen" achten nicht auf Groß- und Kleinschreibung.

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

Wenn man Anfragen mit Zahlen macht, würde es zu folgenden Ergebnissen kommen: Der Stern * -Platzhalter findet Abfolgen von Buchstaben und Ziffern innerhalb eines ausgegebenen Wortes, "aber nie zu einem Anfangszeichen". Ein oder mehr Zeichen, ein Prozent 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 führende Teil 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).

Ein Tilde ~ Zeichen hinter ein Wort oder eine Phrase zu setzen, aktiviert eine ungenaue Suche.
 * Bei einem Ausdruck wird es als "Verwandtschafts-"Suche bezeichnet, weil "Verwandschafts-"Wörter bis zu einer Näherung toleriert werden anstelle eines "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 ), wo die meisten zwei Buchstaben vertauscht gefunden werden können, verändert oder hinzugefügt, doch niemals die ersten beiden Buchstaben.
 * Bei einem verwandten Ausdruck kann eine große Zahl benutzt werden, doch das ist eine "teure" (langsame) Suche.
 * Bei einem Wort word~.1 ist es am ungenauesten, und word~.9 ist weniger ungenau, und 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" "Fragezeichen" sonst verwechselt werden. Anführungszeichen deaktivieren Stemming, "but appending"~ die Tilde reaktiviert Stemming.

Insource
Insource searches can be used to find any one word rendered on a page, but it's made for finding any phrase you might find - including MediaWiki markup. This phrase completely ignores greyspace: insource: "state state autocollapse" matches. Insource complements itself. On the one hand it has full text search for any word in the wikitext, instantly. On the other hand it can process a regexp search for any string of characters. Regex scan all the textual characters in a given list of pages; they don't have a word index to speed things up, and the process is interrupted if it must run more than twenty seconds. Regex run last, so to limit needless character-level scanning, you advance it a list of pages (a search domain) selected by an indexed search added to the query as a "clause", and you do this to every single regex query. . Insource can play both roles, and the best candidate for insource:/arg/ is often insource: arg, where arg is the same.

Der Syntax der regexp ist insource: kein Leerzeichen und dann /regexp/. (Kein anderer Parameter untersagt ein Leerzeichen. Alle Parameter außer insource:/regexp/ akzeptieren generös Leerzeichen nach ihrem Doppelpunkt. )

Insource indexed-search and regexp-search roles are similar in many respects: But indexed searches all ignore greyspace; wildcards searches do not match greyspace, so regex are the only way to find an exact string of any characters, for example a sequence of two spaces. Regex are an entirely different class of search tool that make matching a literal string in a regexp exact string search, a basic, easy search. Advanced regex are an entirely different endeavor than matching a literal string. See below.
 * Both search wikitext only.
 * Neither finds things "sourced" by a transclusion.
 * Neither does stemmed, fuzzy, or proximity searches.
 * Both want the fewest results, and both work faster when accompanied by another clause.

Prefix and namespace
For Search, a namespace term functions to specify the initial search domain. Instead of searching the entire wiki, the default is the main namespace (mainspace).

Only one namespace name can be set from the search box query. It is either the first term or in the last term, in a prefix parameter.

Two or more namespaces may be searched from the Advanced pane of the search bar found on the top of every search results page, Special:Search. Your search domain, as a profile of namespaces, can be set here (without going to the user preferences page). The namespaces list will then present itself on the first page of future search results to indicate the search domain of the search results. To unset this, select the default namespace (shown in parentheses), select "Remember", and press Search.

The search bar graphically sets and indicates a search domain. "Content pages" (mainspace), "Multimedia" (File), "Everything" (all plus File), "Translations", etc., are hyperlinks that can activate the query in that domain, and then indicate this by going inactive (dark). But the query will override the search bar. When a namespace or prefix is used in the query the search bar activations and indications may be misleading, so the search bar and the search box are mutually exclusive (not complementary) ways to set the search domain.

A namespace term overrides the search bar, and a prefix term overrides a namespace.

Enter a namespace name, or enter, or enter a     colon for mainspace. All does not include the File namespace. File includes media content held at Commons such as PDF, which are all indexed and searchable. When File is involved, a namespace modifier  has an effect, otherwise it is ignored. Namespace aliases are accepted. As with search parameters, local and all must be lowercase. Namespaces names are case insensitive.

The prefix: parameter matches any number of first-characters of all pagenames in one namespace. When the first letters match a namespace name and colon, the search domain changes. Given a namespace only, prefix will match all its pagenames. Given one character only, it cannot be - dash or ' quote or " double quote. The last character cannot be a colon. For pagenames that match, their subpage titles match by definition. The prefix parameter does not allow a space before a namespace, but allows whitespace before a pagename.

The prefix parameter goes at the end so that pagename characters may contain " quotation marks.

The Translate extension creates a sort of "language namespace", of translated versions of a page. But unlike namespace or prefix, which create the initial search domain, the inlanguage parameter is a filter of it. (See the next section.)

Filter
A filter can have multiple instances, and negated instances, and it can run as a standalone filtering a search domain. A query is formed as terms that filter a search domain. A namespace or a prefix term is not a filter because a namespace will not run standalone, and a prefix will not negate.

Adding another word, phrase, or parameter filters more. A highly refined search result may have very many Y/N filters when every page in the results will be addressed. (In this case ranking is largely irrelevant.) Filtering applies critically to adding a regex term; you want as few pages as possible before adding a regex (because it can never have a prepared index for its search).

The search parameters below are filters. Insource (covered above) is also a filter, but insource:/regexp/ is not a filter. Filters and all other search parameters are lowercase. (Namespaces are an exception, being case insensitive.)

Intitle and incategory
Word and phrase searches match in a title and match in the category box on bottom of the page. But with these parameters you can select titles only or category only.

Intitle and incategory are old search parameters. Incategory no longer searches any subcategory automatically, but you can now add multiple category pagenames manually. To get the search parameter [//wikitech.wikimedia.org/wiki/Nova_Resource:Catgraph/Deepcat deepcat], to automatically add up to 70 subcategories onto an incategory parameter, incategory:category1|category2|...|category70 , you can add a line to your user-customized javascript.
 * cow*
 * Find articles whose title or text contains words that start with cow
 * intitle:foo
 * Findet Artikel, deren Titel foo enthält. 'Stemming' für foo ist aktiviert.
 * intitle:"fine line"
 * Findet Artikel, deren Titel fine und danach line enthält. 'Stemming' ist aktiviert. Findet z.B. The finest (lines) aber nicht The finest ever lines.
 * 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 der Kategorie:Musik
 * incategory:"music history"
 * Findet Artikel aus der Kategorie:Musik_Geschichte
 * incategory:"musicals" incategory:"1920"
 * Findet Artikel, die in beiden Kategorien sind Kategorie:Musicals and Kategorie:1920
 * -incategory:"musicals" incategory:"1920"
 * Findet Artikel, die nicht in der Kategorie:Musicals sind, aber in der Kategorie:1920 * cow*

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 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.