Such-API
Abrufen von Suchergebnissen
Anfrage
| HTTP-Methode | GET |
| Endpunkt | /api/v1/documents |
Durch Senden einer Anfrage wie http://<Servername>/api/v1/documents?q=Suchbegriff an Fess können Sie die Suchergebnisse von Fess im JSON-Format erhalten. Um die Such-API zu nutzen, muss die JSON-Antwort in der Administrationsoberfläche unter System > Allgemeine Einstellungen aktiviert sein.
Anfrageparameter
Durch Angabe von Anfrageparametern wie http://<Servername>/api/v1/documents?q=Suchbegriff&num=50&fields.label=fess können Sie erweiterte Suchfunktionen durchführen. Die verfügbaren Anfrageparameter sind wie folgt:
| q | Suchbegriff. Wird URL-codiert übergeben. |
| start | Startposition der Ergebnisse. Beginnt bei 0. |
| num | Anzahl der Ergebnisse. Standard ist 20. Maximal können 100 Ergebnisse angezeigt werden. |
| sort | Sortierung. Wird verwendet, um die Suchergebnisse zu sortieren. |
| fields.label | Label-Wert. Wird verwendet, um ein Label anzugeben. |
| facet.field | Angabe des Facettenfeldes. (Beispiel) facet.field=label |
| facet.query | Angabe der Facettenabfrage. (Beispiel) facet.query=timestamp:[now/d-1d TO *] |
| facet.size | Angabe der maximalen Anzahl der abzurufenden Facetten. Gilt, wenn facet.field angegeben ist. |
| facet.minDocCount | Ruft Facetten ab, deren Anzahl größer oder gleich diesem Wert ist. Gilt, wenn facet.field angegeben ist. |
| geo.location.point | Angabe von Breiten- und Längengrad. (Beispiel) geo.location.point=35.0,139.0 |
| geo.location.distance | Angabe der Entfernung vom Mittelpunkt. (Beispiel) geo.location.distance=10km |
| lang | Angabe der Suchsprache. (Beispiel) lang=en |
| preference | Zeichenfolge zur Angabe des Shards bei der Suche. (Beispiel) preference=abc |
| callback | Callback-Name bei Verwendung von JSONP. Muss nicht angegeben werden, wenn JSONP nicht verwendet wird. |
Tabelle: Anfrageparameter
Antwort
{
"q": "Fess",
"query_id": "bd60f9579a494dfd8c03db7c8aa905b0",
"exec_time": 0.21,
"query_time": 0,
"page_size": 20,
"page_number": 1,
"record_count": 31625,
"page_count": 1,
"highlight_params": "&hq=n2sm&hq=Fess",
"next_page": true,
"prev_page": false,
"start_record_number": 1,
"end_record_number": 20,
"page_numbers": [
"1",
"2",
"3",
"4",
"5"
],
"partial": false,
"search_query": "(Fess OR n2sm)",
"requested_time": 1507822131845,
"related_query": [
"aaa"
],
"related_contents": [],
"data": [
{
"filetype": "html",
"title": "Open Source Enterprise Search Server: Fess — Fess 11.0 documentation",
"content_title": "Open Source Enterprise Search Server: Fess — Fe...",
"digest": "Docs » Open Source Enterprise Search Server: Fess Commercial Support Open Source Enterprise Search Server: Fess What is Fess ? Fess is very powerful and easily deployable Enterprise Search Server. ...",
"host": "fess.codelibs.org",
"last_modified": "2017-10-09T22:28:56.000Z",
"content_length": "29624",
"timestamp": "2017-10-09T22:28:56.000Z",
"url_link": "https://fess.codelibs.org/",
"created": "2017-10-10T15.30:48.609Z",
"site_path": "fess.codelibs.org/",
"doc_id": "e79fbfdfb09d4bffb58ec230c68f6f7e",
"url": "https://fess.codelibs.org/",
"content_description": "Enterprise Search Server: <strong>Fess</strong> Commercial Support Open...Search Server: <strong>Fess</strong> What is <strong>Fess</strong> ? <strong>Fess</strong> is very powerful...You can install and run <strong>Fess</strong> quickly on any platforms...Java runtime environment. <strong>Fess</strong> is provided under Apache...Apache license. Demo <strong>Fess</strong> is OpenSearch-based search",
"site": "fess.codelibs.org/",
"boost": "10.0",
"mimetype": "text/html"
}
]
}
Die einzelnen Elemente sind wie folgt definiert:
Suche in allen Dokumenten
Um alle Zieldokumente zu durchsuchen, senden Sie folgende Anfrage: http://<Servername>/api/v1/documents/all?q=Suchbegriff
Um diese Funktion zu nutzen, muss in fess_config.properties die Einstellung api.search.scroll auf true gesetzt werden.
Anfrageparameter
Die verfügbaren Anfrageparameter sind wie folgt:
| q | Suchbegriff. Wird URL-codiert übergeben. |
| num | Anzahl der Ergebnisse. Standard ist 20. Maximal können 100 Ergebnisse angezeigt werden. |
| sort | Sortierung. Wird verwendet, um die Suchergebnisse zu sortieren. |
Tabelle: Anfrageparameter
Fehlerantworten
Wenn die Such-API fehlschlägt, wird folgende Fehlerantwort zurückgegeben:
| Statuscode | Beschreibung |
| 400 Bad Request | Wenn die Anfrageparameter ungültig sind |
| 500 Internal Server Error | Wenn ein interner Serverfehler aufgetreten ist |
Beispiel für eine Fehlerantwort:
{
"message": "Invalid request parameter",
"status": 400
}