Definieren von Suchvorgängen
Freigegeben: HTML-Seite
Mit dem Feature Suche können Sie die im Repository gespeicherten Elemente finden, vorausgesetzt, Sie verfügen über die entsprechenden Berechtigungen. Aufgrund ihres Aufgabenbereichs suchen Anwender häufig nach denselben Elementen, die sie mithilfe von ausgewählten Eigenschaften und Kategorien schnell finden. Sie können den Suchvorgang vereinfachen, indem Sie den Anwendern die Möglichkeit bieten, einen bereits definierten Suchvorgang zu verwenden. Im Suchvorgang haben Sie bereits die Werte definiert, die ihre Anwender andernfalls immer wieder eingeben müssen.
Um einen definierten Suchvorgang bereitzustellen, übergeben Sie die Parameter der URL.
Sie haben zwei Möglichkeiten, den Suchvorgang aufzurufen:
Sie rufen den Suchvorgang ohne Angabe eines speziellen Repositorys auf. In diesem Fall wird das zuletzt ausgewählte Repository für den Suchvorgang verwendet, der Anwender kann jedoch das Repository jederzeit wechseln.
Sie rufen den Suchvorgang speziell für ein Repository auf, sodass der Anwender das Repository nicht mehr wechseln kann.
Suchen, ohne ein Repository anzugeben
Wenn Sie den Suchvorgang ohne Angabe eines Repositorys definieren möchten, müssen Sie wie folgt vorgehen:
Wenn Sie die URL /dms
aufrufen, wird Ihnen mit folgender HTTP-Antwort die URL für den Suchvorgang inklusive verfügbarer Parameter mitgeteilt:
Request
GET /dms Accept: application/hal+json
Das JSON-Objekt zu der Rootressource enthält die Linkrelation search
mit Platzhaltern für die Werte, mit deren Hilfe die Suche nach DMS-Objekten durchgeführt wird.
Response
{ _links: { search: { href: "/dms/s/{?objectdefinitionids,fulltext,properties,showresultlist,repositoryid}" templated: true } } }
Suchen in einem definierten Repository
Wenn Sie einen Suchvorgang speziell für ein Repository definieren möchten, müssen Sie zunächst die URL zu einem Repository ermitteln. Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.
Wenn Sie die URL zu einem Repository ermittelt haben (beispielsweise: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
) und die URL per HTTP GET
aufrufen, dann erhalten Sie folgendes Ergebnis, das die repositoryspezifische URL für den Suchvorgang enthält:
Request
GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27 Accept: application/hal+json
Das JSON-Objekt zu einem Repository enthält die Linkrelation search
mit Platzhaltern für die Werte, mit dessen Hilfe die Suche nach DMS-Objekten durchgeführt wird.
Response
{ _links: { search: { href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/s/{?objectdefinitionids,fulltext,properties,showresultlist}" templated: true } }, id: "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27" }
Angeben von verhaltenssteuernden Parametern
Das Verhalten beim Suchen und Anzeigen steuern Sie mit den folgenden Parametern:
Parameter | Beschreibung |
---|---|
| Legt fest, wenn Werte für einen Suchvorgang vorhanden sind, ob der Suchvorgang direkt ausgeführt wird und die Ergebnisse der Suchanfrage angezeigt werden (Standardwert: |
| Definiert die Repository-ID. |
Die Beschreibungen zu den Parametern objectdefinitionids
, fulltext
und properties
finden Sie im Kapitel Definieren der Parameter für einen Suchvorgang und eine Ergebnisliste.
Anmerkung
Sie können zu einem Parameter auch mehrere Werte definieren, sofern für die zugehörige Eigenschaft Facetten angezeigt werden. Falls keine Facetten für die Eigenschaft zum Anzeigen definiert wurden, wird immer der letzte Wert für den Suchvorgang übernommen.
Aufrufen der URL für den Suchvorgang
Wenn Sie eine URL für den Suchvorgang erzeugt haben, dann können Sie die Ergebnisse mit den entsprechenden Anforderungen aufrufen.
Anforderung ohne Repository-ID:
Request
GET /dms/s/?objectdefinitionids=["RECH"]&fulltext=Mustermann&properties={"227":["KND001"]}&repoid=dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27 Accept: text/html
Anforderung mit Repository-ID:
Request
GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/s/?objectdefinitionids=["RECH"]&fulltext=Mustermann&properties={"227":["KND001"]} Accept: text/html
Als Ergebnis wird dann der Suchvorgang im Feature Suche mit den übergebenen Parametern geladen.
Anmerkung
Sie müssen die Parameter der URL encodieren (z.B. Leerzeichen in %20
). Die Länge des encodierten Abfrageparameters darf 2000 Zeichen nicht überschreiten.
Anwendungsbeispiele für verschiedene Suchanfragen (nicht encodiert):
Suchen in einer Kategorie: Ergänzen Sie die URL um den Teil
objectdefinitionids=["<ID der Kategorie>"]
.
https://
<Basisadresse>/dms/r/
<RepositoryID>/s/?fulltext=5353&objectdefinitionids=["RECH"]
Suchen in mehreren Kategorien: Ergänzen Sie die URL um den Teil
objectdefinitionids=["
<ID der Kategorie>","<ID der Kategorie>"
].
https://
<Basisadresse>/dms/r/<RepositoryID>
/s/?fulltext=5353&objectdefinitionids=["RECH","AUFT"]
Suchen nach PDF-Dokumenten mit Einschränkungen auf den Dateityp: Ergänzen Sie die URL um den Teil
properties={"property_filetype":["<Dateierweiterung>"]}
.
https://
<Basisadresse>/dms/r/<RepositoryID>
/s/?fulltext=test&properties={"property_filetype":["pdf"]}
Suchen nach einer alphanumerischen Eigenschaft: Ergänzen Sie den
properties
-Parameter in der URL umproperties={"227":["KND001"]}
(nicht encodiert), um das Eigenschaftsfeld mit der RID 227 (Kundennummer) und dem Wert"KND001"
als Kundennummer zu suchen.
https://
<Basisadresse>/dms/r/<RepositoryID>
/s/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"]}
Suchen nach mehreren Eigenschaften: Ergänzen Sie den
properties
-Parameter in der URL umproperties={"227":["KND001"],"231":["|-100"]}
(nicht encodiert), um das Eigenschaftsfeld mit der RID 227 (Kundennummer) mit dem Wert"KND001"
und das Eigenschaftsfeld mit der RID 231 (Rechnungsbetrag) mit dem Wert kleiner oder gleich 100 zu suchen.
https://
<Basisadresse>/dms/r/<RepositoryID>
/s/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"],"231":["|-100"]}