diff --git a/docs/kiwix-serve.rst b/docs/kiwix-serve.rst index 04534cd..3162ad2 100644 --- a/docs/kiwix-serve.rst +++ b/docs/kiwix-serve.rst @@ -417,7 +417,49 @@ resources by using explicit ``cacheid`` s. ``/suggest`` ------------ -Blablabla +**Usage:** + + ``/suggest?content=ZIMNAME[&term=QUERY][&count=N][&start=S]`` + +Returns suggestions (in JSON format) for a text string that is assumed to be a +partially typed search for a page inside a particular ZIM file. + +Suggestions are obtained as matches of the query text against the page titles +in the ZIM file using the title index database generated during the creation of +the ZIM file. + +In case of a multi-word query the order of the words matters in two ways: + +1. the last word is considered as partially typed, unless followed by a space; +2. ranking of the matches. + +If the ZIM file doesn't contain a title index then suggestions are generated by +listing page titles starting *exactly* (in a case sensitive manner) with the +query text. Otherwise, suggestions are case-insensitive. + +If the ZIM file contains a full text search index, then an extra suggestion is +added as an option to perform a full text search in the said ZIM file. + +**Parameters:** + + ``content`` (mandatory): :term:`name ` of the ZIM file. + + ``term`` (optional; defaults to an empty string): query text. + + ``count`` (optional, default: 10): maximum number of page suggestions in the + response (i.e. the extra option to perform a full text search is not included + in this count). + + ``start`` (optional, default: 0): this parameter enables pagination of + results. The response will include up to ``count`` entries starting with + entry # ``start`` from the full list of page suggestions (the first result is + assumed to have index 0). + +**Example:** + +.. code:: sh + + $ curl 'http://localhost/suggest?content=stackoverflow_en&term=pyth&count=50' .. _zim-file-viewer: