Suchanfragen werden mit dem ses-search
-Element in einem
ses-request
-Element nach dem folgenden Muster gebildet:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ses-payload SYSTEM "http://www.infopark.com/ses.dtd"> <ses-payload payload-id="B42TE241" timestamp="20100825172100" ses.version="2.0"> <ses-header> <ses-sender sender-id="FX45RTDT" name="CM-Server"/> <ses-authentication login="cm-server" password=""/> </ses-header> <ses-request request-id="BR12TI5X"> <ses-search> <query parser="simple">www <#AND> business</query> <minRelevance>50</minRelevance> <maxDocs>200</maxDocs> <offset> <start>61</start> <length>20</length> </offset> <searchBase> <query parser="simple">title <#CONTAINS> business</query> <collection>collection1</collection> <collection>collection2</collection> </searchBase> <sortOrder> <sortField direction="desc">field23</sortField> ... </sortOrder> <resultRecord> <resultField format="ISO" timezone="MEZ" formatter="formatterAliasName">field1</resultField> ... </resultRecord> <searchDirection start="newest" /> </ses-search> </ses-request> </ses-payload>
Die Unterelemente des ses-search
-Elements werden im
Folgenden beschrieben. Die angegebenen Voreinstellungen, wie beispielsweise
500
für maxDocs
(die maximale Anzahl Dokumente im
Suchergebnis), werden vom Search Engine Server gegebenenfalls ergänzt,
bevor die Anfrage an das Suchmaschinenmodul weitergegeben wird. Dies ist
nur der Fall, wenn das Verity-Suchmaschinenmodul eingesetzt wird. Der
Präprozessor erhält jedoch immer das ursprüngliche, nicht um
Voreinstellungen ergänzte Anfragedokument.
query
parser
, dessen Wert simple
(Voreinstellung), explicit
oder freetext
sein
kann. Ist das Element nicht angegeben, so werden alle indizierten
Dokumente der angegebenen Collections geliefert. Der Inhalt des
Elements ist die Suchanfrage in der suchprozessorspezifischen
Syntax.minRelevance
maxDocs
unlimited
.
unlimited
bedeutet, dass so viele Treffer in das
Suchergebnis aufgenommen werden, wie die Plattform es zulässt.offset
Mit diesem optionalen Element kann
man den zu liefernden Ausschnitt des Suchergebnisses angeben.
Unterelemente:
start
length
start
definierten Index. Voreinstellung: 20. Wird
durch den mit offset
spezifizierten Ausschnitt ein
nicht oder teilweise nicht existierender Bereich des
Suchergebnisses angefordert, so werden keine bzw. nur die im
Bereich existierenden Dokumente geliefert. In diesen Fällen wird
kein Fehler erzeugt.searchBase
query
query
-Element unterhalb von
ses-search
angegebene Suchanfrage ausgeführt wird.
Ist das Element nicht angegeben, so werden alle indizierten
Dokumente der angegebenen Collections durchsucht. Das Element hat
das optionale Attribut parser
, dessen Wert
simple
(Voreinstellung), explicit
oder
freetext
sein kann. Der Inhalt des Elements ist die
Suchanfrage in der suchprozessorspezifischen Syntax.collection
sortOrder
score
, also nach
Relevanz sortiert. Das Element kann mindestens ein und höchstens 16
sortField
-Unterlemente haben:
sortField
sortField
-Element legt den Namen eines
Dokumentfeldes fest, das als Suchkriterium verwendet werden soll,
wobei die Reihenfolge der Elemente berücksichtigt wird. Das erste
sortField
-Element definiert das primäre
Sortierkriterium, das zweite das sekundäre usw. Bei der
Sortierung werden nur die ersten 64 Zeichen der Feldwerte
berücksichtigt. Alle verfügbaren Felder und score
können als Sortierkriterium angegeben werden.
sortField
hat das optionale Attribut
direction
, dessen Wert die Sortierreihenfolge
festlegt. Erlaubte Werte sind asc
(aufsteigend, die
Voreinstellung) und desc
(absteigend).resultRecord
id
, title
und
score
geliefert. Unterelemente:
resultField
resultField
-Elements spezifiziert den Namen des je
Dokument zurückzugebenden Feldes. Es können mehrere
resultField
-Elemente im Inhalt von
resultRecord
vorkommen. Alle verfügbaren Felder
sowie id
und score
können angegeben
werden. Wird ein nicht existierendes Feld angegeben, so wird als
dessen Wert der leere Wert zurückgegeben. Das Element hat die
drei Attribute format
, timezone
und
formatter
:format
ist
der Name eines Datumsformats, mit dem der Wert des Feldes jeweils
formatiert wird, wenn es sich dabei um einen Datumswert handelt.
Die Formatnamen und ihre Formate sind im
Systemkonfigurationseintrag
validDateTimeOutputFormats
abgelegt (siehe Den
Search Engine Server ausführen). Voreingestellt wird das
erste dort eingetragene Format verwendet.timezone
kann die Zeitzone spezifiziert werden, in
die die Werte von Datumsangaben umgerechnet werden sollen.
Voreingestellt wird die Zeitzone des Rechners verwendet, auf dem
der Search Engine Server läuft.formatter
können die Werte der zurückgegebenen
Dokumentfelder unabhängig von ihrem Typ formatiert werden. Der
Wert des Attributs ist der Aliasname einer Tcl-Prozedur, dem im
Systemkonfigurationseintrag tclFormatterCommands
der
tatsächliche Name der Tcl-Prozedur zugeordnet wurde (siehe Den
Search Engine Server ausführen).searchDirection
start
spezifiziert. Der Wert kann
newest
(Voreinstellung) oder oldest
sein. Bei
newest
beginnt die Suche bei den neuesten Dokumenten,
andernfalls bei den ältesten. Das Element hat keinen Inhalt.