Dieses Dokument beschreibt die v2-Export-API von Fess, mit der Suchergebnisse als CSV- oder JSON-Datei heruntergeladen werden. Informationen zum gemeinsamen Antwort-Envelope und zum Fehlermodell finden Sie unter API-Übersicht.
Die Basis-URL lautet http://<Server Name>/api/v2/ (Beispiel für eine lokale Umgebung: http://localhost:8080/api/v2).
Bemerkung
Der Export ist standardmäßig deaktiviert. Um ihn zu nutzen, setzen Sie api.search.export=true in fess_config.properties. Ist er aktiviert, zeigt das mitgelieferte Theme bootstrap neben der Trefferzahl ein Exportmenü (CSV / JSON). features.search_export von /api/v2/ui/config meldet den Zustand.
Suchergebnisse herunterladen
Anfrage
| HTTP-Methode | GET |
| Endpunkt | /api/v2/documents/export |
Gibt die zur Suche passenden Dokumente als Datei-Download zurück (Content-Disposition: attachment, Dateiname search_results.csv oder search_results.json).
Es gilt derselbe Rollenfilter wie bei
/api/v2/search. Beilogin.required=truekann wie bei/api/v2/searchein Zugriffstoken verwendet werden.Höchstens
api.search.export.max.size(Standard:1000) Dokumente werden exportiert. Die Blätterparameter (start,num) werden nicht verwendet.Exportiert werden die Felder aus
api.search.export.fields(Standard:title,url_link,last_modified,content_length,filetype), die auch in API-Antworten erscheinen dürfen.Anfragen sind auf
api.search.export.rate.limit.per.minute(Standard:10;0bedeutet unbegrenzt) pro Minute begrenzt, gezählt je angemeldetem Benutzer bzw. je Client-IP bei Gästen. Darüber antwortet der Endpunkt mit429und einemRetry-After-Header.Ein Export wird nicht im Suchprotokoll aufgezeichnet.
Anfrageparameter
Es können dieselben Suchbedingungen wie bei /api/v2/documents/all angegeben werden, etwa q, ex_q, fields.*, sort und lang (siehe Such-API). Zusätzlich:
format | Dateiformat: csv (Standard) oder json. Jeder andere Wert ergibt invalid_request (400). |
Tabelle: Anfrageparameter
Antwort
Die CSV-Datei hat eine Kopfzeile mit den Feldnamen und wird in der Kodierung von csv.file.encoding geschrieben (eine UTF-8-Datei beginnt mit einer Byte-Order-Mark). Ein Wert, der mit =, +, -, @, einem Tabulator oder einem Wagenrücklauf beginnt, erhält ein vorangestelltes ', damit eine Tabellenkalkulation ihn nicht als Formel ausführt. Mehrwertige Felder werden mit einem Leerzeichen verbunden.
Die JSON-Datei hat die Form {"data":[{...},...]}; mehrwertige Felder bleiben Arrays.
Ein Fehler vor Beginn der Datei liefert den üblichen Fehler-Envelope. Ein Fehler danach lässt sich in der Datei nicht melden; der Download endet vorzeitig mit einer abgeschnittenen CSV-Datei oder einem nicht parsebaren JSON.
Fehlerantwort
Tabelle: Fehlerantwort