Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com> Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
5.4 KiB
title, partiallyActive
| title | partiallyActive |
|---|---|
| Suchsyntax | true |
Der Suchbereich enthält alle notwendigen Informationen, um die Suchoption des SCM-Managers zu nutzen (ausgenommen die Plugin-Funktionalität).
Arten von Suchanfragen
Es gibt zwei Arten von Suchen. Die erste Art ist die einfache Suche. Eine einfache Suche besteht nur aus Suchbegriffen und beinhaltet keine der unten gelisteten Operatoren (z.B. 'AND'). Jeder Suchbegriff einer einfachen Suche wird implizit am Ende mit dem *-Operator erweitert. Dadurch findet man mit dem Suchbegriff 'Repo' auch den Begriff 'Repository'. Die zweite Art von Suche ist die Expertensuche. Sobald eine Suchanfrage einen Operator beinhaltet, dann gilt diese Suchanfrage als Expertensuche. Die Art von Suche ermöglicht es, komplexe Suchabfragen zu erstellen. Allerdings werden Suchbegriffe hier nicht implizit mit einem *-Operator erweitert. Dementsprechend muss hier der *-Operator bei Bedarf explizit gesetzt werden.
Aufteilug von Wörtern
Der SCM-Manager ist für Code entwickelt und in Code verwendet man oft "CamelCase" Wörter. Um die Suche nach diesen Wörtern
zu erleichtern, werden sie für die Suche in separate Wörter aufgeteilt. Das bedeutet, dass die Suche nach SomeManager
auch den Begriff SomeRepositoryManager findet. Wenn Sie dies vermeiden möchten, können Sie Ihre Wörter einfach nur
in Kleinbuchstaben eingeben. Im obigen Beispiel findet die Suche nach somemanager nur den Begriff SomeManager,
aber nicht SomeRepositoryManager.
Modifikatoren
Hinweis: Sie können keine Wildcards als erstes Zeichen einer Suche verwenden.
| Definition | Beispiel |
|---|---|
| ? - Wildcard für ein einzelnes Zeichen | "Ultimate?Repo" – findet z.B. Ultimate-Repo, Ultimate Repo, Ultimate+Repo |
| * - Wildcard für mehrere Zeichen | "Ultimat*y" - findet z.B. Ultimate Repository, Ultimate-Special-Repository, Ultimately |
Bereiche
Bereichsabfragen ermöglichen den Abgleich von Dokumenten, deren Feldwerte zwischen der unteren und der oberen Grenze liegen, die in der Bereichsabfrage angegeben sind. Bereichsabfragen können die obere und untere Grenze einschließen oder ausschließen. Die Sortierung erfolgt lexikografisch.
Bereiche sind nicht auf numerische Felder beschränkt.
| Definition | Beispiel |
|---|---|
| [ … TO … ] - inklusiver Bereich | "creationDate:[1609459200000 TO 1612137600000]" – findet z.B. Repositories, die zwischen dem 01.01.2021 und dem 01.02.2021 erstellt wurden |
| {… TO …} - exklusiver Bereich | "name:{Aida TO Carmen}" – f"name:{Aida TO Carmen}" – findet Namen zwischen Aida und Carmen, jedoch ohne die beiden Namen einzuschließen |
Boosting
Mit dem Boosting können Sie die Relevanz eines Dokuments steuern, indem Sie seinen Term verstärken.
| Definition | Beispiel |
|---|---|
| term^number | "ultimate^2 repository" – erhöht die Relevanz von ultimate |
Standardmäßig ist der Boost-Faktor 1. Obwohl der Boost-Faktor positiv sein muss, kann er kleiner als 1 sein (z. B. 0,2)
Standardmäßig werden Repository-Namen um 1,5 und Namespace-Namen um 1,25 geboostet.
Boolesche Operatoren
Hinweis: Logische Operatoren müssen in Großbuchstaben eingegeben werden (z. B. „AND").
| Operator | Definition | Beispiel |
|---|---|---|
| AND | Beide Terme müssen enthalten sein | "Ultimate AND Repository" – findet z.B. Ultimate Repository, Ultimate Special Repository |
| OR | Mindestens einer der Terme muss enthalten sein | "Ultimate OR Repository" – findet z.B. Ultimate Repository, Ultimate User, Special Repository |
| NOT | Der folgende Term darf nicht enthalten sein, "!" kann alternativ verwendet werden | "Ultimate NOT Repository" – findet z.B. Ultimate user, schließt z.B. Ultimate Repository aus |
| - | schließt den folgenden Term aus der Suche aus | "Ultimate Repository -Special" – findet z.B. Ultimate Repository, schließt z.B. Ultimate Special Repository aus |
| + | Der folgende Term muss enthalten sein | "Ultimate +Repository" – findet z.B. mein Repository, Ultimate Repository |
Gruppierung
Die Suche unterstützt die Verwendung von Klammern zur Gruppierung von Begriffen, um Teilabfragen zu bilden. Dies kann sehr nützlich sein, wenn Sie die boolesche Logik für eine Abfrage steuern möchten.
| Definition | Beispiel |
|---|---|
| () – Terme zwischen den Klammern werden gruppiert | "(Ultimate OR my) AND Repository" – findet z.B. Ultimate Repository, my Repository, schließt z.B. Super Repository aus. Entweder "Ultimate" oder "My" muss existieren, "Repository" muss immer existieren |
Phrasen
Eine Phrase ist eine Gruppe von Begriffen in einer bestimmten Reihenfolge. Wenn Sie nach bestimmten Phrasen suchen möchten, können Sie das " Zeichen verwenden.
Bitte beachten Sie, dass Wörter getrennt werden, wenn sie "CamelCase" verwenden (wie im Abschnitt "Aufteilug von Wörtern" erwähnt), auch wenn sie mit " umschlossen sind.
| Definition | Beispiel |
|---|---|
| "" - Begriffe innerhalb der Anführungszeichen werden als Phrase gesucht | "Ultimate Repository" – findet Ultimate Repository, aber nicht Repository Ultimate, Ultimate oder Repository |