Ausschnitt aus der DTD:
<!ENTITY % cm.cm-request " ... (obj-search+, obj-commit) | (obj-search+, obj-copy) | (obj-search+, obj-delete) | (obj-search+, obj-description) | (obj-search+, obj-edit) | (obj-search+, obj-exportSubtree) | (obj-search+, obj-forward) | (obj-search+, obj-get) | (obj-search+, obj-give) | (obj-search+, obj-permissionGrantTo) | (obj-search+, obj-permissionRevokeFrom) | (obj-search+, obj-reject) | (obj-search+, obj-release) | (obj-search+, obj-removeActiveContents) | (obj-search+, obj-removeArchivedContents) | (obj-search+, obj-revert) | (obj-search+, obj-set) | (obj-search+, obj-sign) | (obj-search+, obj-take) | (obj-search+, obj-unrelease) | ... ">
Definition:
<!ENTITY % cm.obj-search " (query | minRelevance | maxDocs | offsetStart | offsetLength | parser | collections) "> <!ELEMENT obj-search %cm.obj-search;>
Aufgabe: obj-search sucht nach Dateien, die auf die übergebene Suchanfrage passen.
Spezielle Parameter dieses Funktionselements:
-
query: als Inhalt dieses Elements wird der Suchanfragetext übergeben. -
minRelevance: eine ganze Zahl zwischen 0 und 100 (jeweils einschließlich), die die Relevanz angibt, die die Treffer mindestens haben müssen, um ins Suchergebnis aufgenommen zu werden. -
offsetStart: der Index des ersten zurückzugebenden Dokuments im Gesamtsuchergebnis. Das erste Dokument hat den Index 1. -
offsetLength: die Anzahl der aboffsetStartzurückzugebenden Dokumente. -
parser: Der bei der Suche zu verwendende Parser (siehe das Handbuch Die Search Cartridge). Der Inhalt desparser-Elements muss eine der drei folgenden Zeichenketten sein:simple,explicit,freetext. -
collections: Die zu durchsuchenden Collections, jeweils alslistitem-Unterelemente. Sind keine Collections angegeben, so werden alle Collections durchsucht. Die verfügbaren Collections sind nicht mit CRUL abfragbar (nur im SES-single-Modus mit dem KommandolistCollections). Die bei der Indizierung anzuwendenden Regeln zur Auswahl einer Collection sind im Systemkonfigurationseintragindexing.advancedSearch.collectionSelectiondefinierbar.
Verwendung: Wie obj-where ist obj-search ein Funktionselement, das nicht ohne ein weiteres unmittelbar darauf folgendes Funktionselement verwendet werden kann. Mit obj-search erhält man die Liste der Dateien, die auf die Suchanfrage im query-Element passen. Erst durch das auf obj-search folgende Funktionselement wird jedoch bestimmt, wie diese Dateien zu behandeln sind. Jedes der Elemente, die auf obj-search folgen können, entspricht dabei einer Schablone, die nacheinander auf jedes der mit obj-search ermittelten Dateien angewendet wird (siehe Requests als Schablonen und die Darstellung der Ergebnis-Daten). Auf obj-search können die gleichen Elemente folgen wie auf obj-where (siehe <obj-where>).
Rückgabewert bei Erfolg: die Liste der IDs der passenden Dateien, auf denen der Benutzer das Leserecht hat.
Erforderliche Rechte: keine Einschränkungen.
Beispiel:
<cm-request...>
<obj-search>
<query>sportsnews <#IN> objclass</query>
<minRelevance>100</minRelevance>
</obj-search>
<obj-copy>
<parent>/news/archiv</parent>
</obj-copy>
</cm-request>
<cm-response...>
<cm-code numeric="0" phrase="ok">
<obj>
<id>4563</id>
<obj>...
<cm-code/>
</cm-response>