In diesem Kapitel erfahren Sie mehr zur XML-Struktur eines OpenSearch-Suchergebnisses und den möglichen Angaben in einer URL bei Anwendungen mit und ohne Cookie-Unterstützung anhand einer Beispielsuche in einem d.3-Repository. Darüber hinaus erfahren Sie mehr zu möglichen Einschränkungen einer Suchanfrage mithilfe von Eigenschaften.
Sie benötigen für die URL die Basisadresse des d.3one-Anwendungsservers und die ID des d.3-Repositorys, für das Sie eine Suchanfrage definieren möchten:
- Die Basisadresse geben Sie beim Installieren der zentralen Apps an.
- Die Repository-ID finden Sie in der Detailsektion des Features d.3 Repositorys (https://<Basisadresse>/repo/repositories/) beim Herstellen einer Verbindung erstellt. Sie erhalten die ID, indem Sie entweder die URL nutzen oder im Startmenü auf Alle Programme > d.velop > d.3one > Repository-Konfiguration klicken.
Im Allgemeinen sind OpenSearch-Suchanfragen nach folgendem Schema aufgebaut: https://<Basisadresse>/identitytunnel/auth?url=/dms/r/<RepositoryID>/sr/?<SUCHVORGABEN>&format=opensearch
Dieses allgemeine Schema gilt in der Regel für Suchanfragen mithilfe von Anwendungen, die keine Cookies unterstützen.
Hinweis Suchanfragen mithilfe von Anwendungen, die keine Cookies unterstützen, sind nur möglich, wenn Sie in d.ecs identity provider die Authentifizierungsmechanismen Basic oder Kerberos aktiviert haben. |
Die Suchanfrage muss z.B. für eine Suche mithilfe eines Browsers leicht angepasst werden, indem Sie den Teil /identitytunnel/auth?url= aus dem Link löschen.
Exemplarisches Ausführen einer OpenSearch-Suchanfrage als Volltextsuche in Internet Explorer (nur mit installiertem d.3 search)
Angenommen, Sie möchten eine gezielte Volltextsuche nach dem Stichwort "Rechnung" in dem Repository mit der ID 9263b97e-fa3c-52ca-b3af-45c762b5cbd8 durchführen.
- Ersetzen Sie im Link https://<Basisadresse>/dms/r/<RepositoryID>/sr/?fulltext=<Suchwort>&format=opensearch die entsprechenden Angaben (Basisadresse, Repository-ID und Suchwort).
- Kopieren Sie den Link https://<Basisadresse>/dms/r/9263b97e-fa3c-52ca-b3af-45c762b5cbd8/sr/?fulltext=rechnung&format=opensearch in die Adresszeile eines Browsers.
- Drücken Sie ENTER.
- Ihnen wird folgende Ansicht angezeigt:
Andere Browser zeigen die Antwort in Form von XML-Daten textuell an. Sofern Sie keine weiteren Parameter angeben, werden mit einer Anfrage 25 Treffer nach der Standardsortierung (Akten vor Dokumente, die neuesten zuletzt geänderten Elemente) ausgegeben.
Aufbau eines OpenSearch-Ergebnisses
Das OpenSearch-Ergebnis enthält folgende Standardeigenschaften, die Elemente in einem d.3-Repository näher beschreiben.
XML-Element | Beschreibung |
---|---|
<title> | Entspricht dem Titel-Feld (Caption) im d.3-Repository. |
<author> | Entspricht dem Besitzer im d.3-Repository. |
<description> | Enthält eine knappe textuelle Beschreibung abgeleitet aus den Eigenschaften des Dokuments. |
<category> | Entspricht der Bezeichnung der Kategorie (Aktenart bzw. Dokumentart) für die Akte oder das Dokument im d.3-Repository. |
Die Eigenschaften mit dem Präfix win: und media: dienen zur besseren Anzeige des Suchergebnisses im Windows-Explorer. Die Dokumenteigenschaften mit Präfix dvelop: dienen z.B. dazu, wenn Sie OpenSearch in Microsoft SharePoint verwenden möchten. Zu einem Ergebnis werden die allgemeinen und erweiterten Eigenschaften aufgelistet.
Sie können bei Bedarf das OpenSearch-Ergebnis in einem beliebigen Texteditor als XML-Struktur anzeigen (z.B. im Browser mithilfe der Option zum Anzeigen des Quelltextes).
Ausführen einer Suche für Anwendungen ohne Cookie-Unterstützung
Für die Verwendung von OpenSearch-Anfragen in Anwendungen, die zwischen Anforderungen (Request) keine Cookies speichern (z.B. Windows-Explorer), ist das vorhergehende Beispiel nicht direkt anwendbar. Vielmehr wird in diesem Umfeld die Umleitungsmöglichkeit von d.ecs identity provider genutzt. Der Mechanismus besteht darin, dass von d.ecs identity provider die URI zur Suche als Parameter übergeben wird. Die App d.ecs identity provider leitet die Anfrage unter der Nutzung der Benutzerauthentifizierung weiter und übernimmt stellvertretend für die Anwendung die Speicherung der Cookies. Im Vergleich zum direkten Aufruf in einem Browser ist diese Variante etwas langsamer, da für jede Anfrage Aufwand für die interne Authentifizierung entsteht.
Exemplarisches Ausführen einer OpenSearch-Suchanfrage als Volltextsuche in einer Anwendung ohne Cookie-Unterstützung
Beispiel-URI für den OpenSearch-Aufruf über den Identitätsanbieter (d.ecs identity provider):
Sie können die URI aus einem Link herleiten, indem Sie nun den Teil identitytunnel/auth?url= wieder einfügen:
- Browser-basierter Aufruf: https://<Basisadresse>/dms/r/<RepositoryID>/sr/?fulltext=<Suchwort>&format=opensearch
- Umgeleiteter Aufruf: https://<Basisadresse>/identitytunnel/auth?url=/dms/r/<RepositoryID>/sr/?fulltext=<Suchwort>&format=opensearch
Parametrisierung der Suche in Verbindung mit einem d.3-Repository
In der Regel ist die Volltextsuche in einem d.3-Repository zu unspezifisch. Deshalb können Sie die Suchanfrage mithilfe von Abfrageparametern einschränken.
Sie müssen Sonderzeichen für die URL entsprechend encodieren (z.B. Leerzeichen in %20). Die Länge des encodierten Abfrageparameters darf 8000 Zeichen nicht überschreiten.
Parameter | Beschreibung |
---|---|
fulltext | Gibt einen Volltextsuchbegriff an. Sie müssen d.3 search installiert haben, um die Volltextsuche zu verwenden. |
page | Gibt die abzufragende Seite der Ergebnisse an. Wird page nicht angegeben, wird die erste Seite (page=1) angefordert. Wenn Sie die Ergebnisliste in der HTML5-Darstellung der d.3one-Browserintegration aufrufen, wird ein vorhandener page-Parameter ignoriert und stattdessen der Anfang der Ergebnisliste angezeigt. Ein Hineinspringen an eine spezielle Position in der Ergebnisliste ist nicht möglich. |
pagesize | Legt die Anzahl der Ergebnisse pro Suchanfrage fest. Wird der Parameter nicht festgelegt, werden bis zu 25 Treffer zurückgeliefert (pagesize=25). Der Wert des Parameters darf minimal 10 und maximal 1000 betragen. |
propertysort | Gibt die ID der Eigenschaft an, nach der sortiert wird. Ist keine Sortiereigenschaft angegeben, erfolgt die Sortierung gemäß Standardsortierung anhand des Sortierungskriteriums Geändert am. Zudem werden bei der Geändert am-Sortierung Akten vor Dokumente angezeigt und innerhalb von Akten und Dokumenten wird nach dem letzten Änderungsdatum sortiert.
Sie können die Ergebnisliste auch anhand einer erweiterten Eigenschaft sortieren. Die ID der Eigenschaft entspricht der Kennung (RID) einer Eigenschaft, die Sie in d.3 admin für jede erweiterte Eigenschaft ermitteln können. Weitere Informationen zur Kennung einer Eigenschaft (RID) finden Sie in der Dokumentation zu d.3 admin (d3admin.pdf). Je nach Anwendung, mit der die OpenSearch-Funktionalität genutzt wird, kann es vorkommen, dass die Anwendung die Ergebnisse noch eigenständig z.B. nach Änderungsdatum sortiert (Internet Explorer, Windows-Explorer). |
ascending | Gibt die Richtung der Sortierreihenfolge an.
Wird der ascending-Parameter nicht explizit angegeben, wird eine aufsteigende Sortierung vorgenommen. Davon ausgenommen ist die Standardsortierung: Wird nach dem Kriterium Geändert am sortiert und ist die Sortierreihenfolge nicht angegeben, wird in diesem Fall absteigend sortiert. Außerdem werden in der Ergebnisliste zunächst die Akten und dann die Dokumente angezeigt. Innerhalb von Dokumenten und Akten wird nach dem Sortierkriterium sortiert. Je nach Anwendung, mit der die OpenSearch-Funktionalität genutzt wird, kann es vorkommen, dass die Anwendung selbst die Ergebnisse eigenständig z.B. nach Änderungsdatum sortiert (Internet Explorer, Windows-Explorer). |
properties | Gibt eine Sucheinschränkung nach Eigenschaften der Dokumente und Akten an. Mit folgenden Kriterien können Sie eine Suche auf bestimmte Aspekte beschränken:
Sie können je Eigenschaft mindestens einen Wert definieren. Beispiele:
Sie können die Ergebnisliste auch anhand einer erweiterten Eigenschaft einschränken. Die ID der Eigenschaft entspricht der Kennung (RID) einer Eigenschaft, die Sie in d.3 admin für jede erweiterte Eigenschaft ermitteln können. Weitere Informationen zur Kennung einer Eigenschaft (RID) finden Sie in der Dokumentation zu d.3 admin (d3admin.pdf). Beispiele:
Sie können auch mehrere Eigenschaften gleichzeitig als Sucheinschränkung verwenden: Beispiele:
|
objectdefinitionids | Legt fest, auf welche Kategorien sich die Suche beziehen soll. Sie können mindestens eine Kategorie definieren. Geben Sie die ID einer Kategorie an. Wird keine Angabe gemacht, erfolgt die Suche in allen Kategorien eines d.3-Repositorys. Beispiele:
|
viceuser | Schränkt das Suchergebnis auf diejenigen Treffer ein, die der Benutzer sehen darf, dessen d.3-Benutzername im Parameter viceuser angegeben ist. Das Suchergebnis enthält in diesem Fall nur die Elemente, für die sowohl der authentifizierte Benutzer (d.3-Servicebenutzer) als auch der viceuser-Benutzer die erforderlichen Berechtigungen besitzt. Der Parameter viceuser wird ausschließlich für die Einschränkung der Suche verwendet. Wenn der Anwender auf Basis der zurückgelieferten Links, die Teil des Ergebnisses sind, weitere Aktionen ausführt (z.B. Link zum Download aufrufen), werden die Berechtigungen des authentifizierten Benutzers verwendet. Damit die Berechtigungen des Anwenders für weitere Aktionen angewendet werden, müssen Sie sicherstellen, dass die Links aus den Ergebnissen in einer individuell authentifizierenden Benutzeroberfläche (z.B. Browser) ausgeführt werden. |
Hinweis Spezielle Angaben für den properties-Parameter in Bezug auf verschiedene Einschränkungsmöglichkeiten, um gezielt zum Ergebnis zu gelangen:
|
Anwendungsbeispiele für verschiedene Suchanfragen mithilfe der OpenSearch-Funktionalität:
- Suchen in einer Dokumentart: Ergänzen Sie die URL um den Teil objectdefinitionids=["<Dokumentartname kurz>"].
https://<Basisadresse>/dms/r/<RepositoryID>/sr/?fulltext=5353&format=opensearch&objectdefinitionids=["RECH"]
- Suchen in mehreren Dokumentarten: Ergänzen Sie die URL um den Teil objectdefinitionids=["<Dokumentartname kurz>","<Dokumentartname kurz>"].
https://<Basisadresse>/dms/r/<RepositoryID>/sr/?fulltext=5353&format=opensearch&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>/sr/?fulltext=test&format=opensearch&properties={"property_filetype":["pdf"]}
- Suchen nach einer alphanumerischen Eigenschaft: Ergänzen Sie den properties-Parameter in der URL um properties={"227":["KND001"]}, um das Eigenschaftsfeld mit der RID 227 (Kundennummer) und dem Wert "KND001" als Kundennummer zu suchen.
https://<Basisadresse>/dms/r/<RepositoryID>/sr/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"]}&format=opensearch
- Definieren der Sortierung der Ergebnisliste nach Titel: Ergänzen Sie die URL um den Teil propertysort=property_caption.
https://<Basisadresse>/dms/r/<RepositoryID>/sr/?fulltext=&format=opensearch&objectdefinitionids=["RECH"]&propertysort=property_caption
Details zum Definieren und Bereitstellen von Suchconnectoren für die Verwendung mit Windows-Explorer finden Sie unter Bereitstellen und Definieren von OpenSearch-Sammelsuchen.
Siehe auch: