---

title: Suchsyntax

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

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

Definition | Beispiel
-----------|-----------
"" - Begriffe innerhalb der Anführungszeichen werden als Phrase gesucht | "Ultimate Repository" – findet `Ultimate Repository`, aber nicht `Repository Ultimate`, `Ultimate` oder `Repository`
