<<InsertPage page='WidgetTrail'>>

Wiki Plugin zur Anzeige einer Liste ähnlicher Seiten, entweder über angegebenen Ausdruck (regex,like) oder über die sog. [[http://de.wikipedia.org/wiki/Levenshtein-Distanz|Editierdistanz]].


{{{
<<SimilarPages>>
}}}

Der Default verwendet den aktuellen Seitennamen und eine Editierdistanz berechnet aus 75% der Längenunterschiede der Seitennamen.

== Parameter

XOr:
* like/regex - siehe eigene Sektion weiter unten
* edistance/page - siehe eigene Sektion weiter unten


Optional
* heading, standard heading kann überschrieben werden, im string kann $rc als parameter für die Menge der Treffer verwendet werden.
* max (default 30), danach wird Ergebnisausgabe abgebrochen
* page - relevant nur für den edistance parameter, falls nicht die aktuelle sondern ein anderer Seitenname auf ähnlichkeiten untersucht werden soll:
* not - exclude pages

=== Combine

Mit combine kombiniert SimilarPages Regex und EditDistance, dabei können in combine parameter die Zusammensetzung der im Deutschen üblichen Kombination von Substantiven angegeben werden, die zur Bildung des Begriffs dienten, der den Seitennamen beschreibt. Beispiel

{{{
<<SimilarPages combine='Sonder,formatierung'>>
}}}

Gesucht wird nun:
* like: %Sonder%, %formatierung%
* edistance: Sandkasten, -0.75

Siehe [[Sonderformatierung]] für ein Beispiel


Ausschließen
{{{
<<SimilarPages combine='Line,Linie' not='Online,Offline'>>
}}}

=== Like

Der Like parameter erlaubt die Angabe eines Suchbegriffes bekannt von SQL Datenbanken mit % als Platzhalter. Die folgende Definition findet alle Seiten, die mit 'Sand' beginnen. Dies ist einfacher für Endanwender.

{{{
<<SimilarPages like='Sand%'>>
}}}

=== Regex

Über den [[Regex]]-Parameter kann ein regulärer Ausdruck angegeben werden. Die folgende definition findet alle Seiten, die mit 'Sand' anfangen, und am ende eine Nummer haben:

{{{
<<SimilarPages regex='Sand.*\\d'>>
}}}

Dies ist analog zum [[QueryPlugin]]

{{{
<<Query pages='IS[Sand.*\\d]'>>
}}}
=== EDistance

Der EDistance Parameter erlaubt eine "Fuzzy" suche von Seitennamen über die Editierdistanz

Wird edistance positiv angegeben, wird exakt die editierdistanz verwendet
{{{
<<SimilarPages edistance='4'>>
}}}


Wird der edistance negativ als -0.x angegeben, so gibt dies den Prozentsatz der längendifferenz zwischen zu verlgeichenden Seitennamen an, die zur automatischen ermittlung der fixen edistance verwendet wird:

Beispiele:
{{{
<<SimilarPages edistance='-0.65'>>
}}}

== Beispiele

{{{
%%mcol
Default: Edit Distance, distance calculated as 75% string length

<<SimilarPages>>
-------------
Default: Edit Distance, distance calculated as 65% string length

<<SimilarPages edistance='-0.65'>>
-------------
Default: Edit Distance, fiexed distance 4
<<SimilarPages edistance='4'>>
-------------
%%

%%mcol

Default: Edit Distance, fiexed distance 5

<<SimilarPages edistance='5'>>
--------------
Default: Edit Distance, regex generated out of sql like

<<SimilarPages like='Sand%'>>
-------------
Default: Edit Distance, regex exact
<<SimilarPages regex='Sand.*\\d'>>
%%

%%clear
%%
}}}

Anzeige:

{{SimilarPages/similarpages.png|Ausgabe|XXL}}