<obj-search>

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 ab offsetStart zurückzugebenden Dokumente.
  • parser: Der bei der Suche zu verwendende Parser (siehe das Handbuch Die Search Cartridge). Der Inhalt des parser-Elements muss eine der drei folgenden Zeichenketten sein: simple, explicit, freetext.
  • collections: Die zu durchsuchenden Collections, jeweils als listitem-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 Kommando listCollections). Die bei der Indizierung anzuwendenden Regeln zur Auswahl einer Collection sind im Systemkonfigurationseintrag indexing.advancedSearch.collectionSelection definierbar.

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 &lt;#IN&gt; 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>