| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | .. _engines-dev:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ===============
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | Engine Overview
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | ===============
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | .. contents::
 | 
					
						
							|  |  |  |    :depth: 3
 | 
					
						
							|  |  |  |    :local: | 
					
						
							|  |  |  |    :backlinks: entry
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | .. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. sidebar:: Further reading ..
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-04 11:29:58 +02:00
										 |  |  |    - :ref:`configured engines`
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    - :ref:`settings engine`
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-12 08:36:56 +02:00
										 |  |  | SearXNG is a metasearch-engine_, so it uses different search engines to provide
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | better results.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Because there is no general search API which could be used for every search
 | 
					
						
							| 
									
										
										
										
											2021-09-12 08:36:56 +02:00
										 |  |  | engine, an adapter has to be built between SearXNG and the external search
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | engines.  Adapters are stored under the folder :origin:`searx/engines`.
 | 
					
						
							| 
									
										
										
										
											2020-11-30 08:35:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _general engine configuration:
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | General Engine Configuration
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | ============================
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-12 08:36:56 +02:00
										 |  |  | It is required to tell SearXNG the type of results the engine provides. The
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | arguments can be set in the engine file or in the settings file (normally
 | 
					
						
							|  |  |  | ``settings.yml``). The arguments in the settings file override the ones in the
 | 
					
						
							|  |  |  | engine file.
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | It does not matter if an option is stored in the engine file or in the settings.
 | 
					
						
							|  |  |  | However, the standard way is the following:
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-21 17:13:38 +01:00
										 |  |  | .. _engine file:
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | Engine File
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | -----------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. table:: Common options in the engine module
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ======================= =========== ========================================================
 | 
					
						
							|  |  |  |    argument                type        information
 | 
					
						
							|  |  |  |    ======================= =========== ========================================================
 | 
					
						
							| 
									
										
										
										
											2022-07-24 10:51:22 +02:00
										 |  |  |    categories              list        categories, in which the engine is working
 | 
					
						
							| 
									
										
										
										
											2022-09-27 17:01:00 +02:00
										 |  |  |    paging                  boolean     support multiple pages
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    time_range_support      boolean     support search time range
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  |    engine_type             str         - ``online`` :ref:`[ref] <online engines>` by
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |                                          default, other possibles values are:
 | 
					
						
							|  |  |  |                                        - ``offline`` :ref:`[ref] <offline engines>`
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  |                                        - ``online_dictionary`` :ref:`[ref] <online dictionary>`
 | 
					
						
							|  |  |  |                                        - ``online_currency`` :ref:`[ref] <online currency>`
 | 
					
						
							|  |  |  |                                        - ``online_url_search`` :ref:`[ref] <online url search>`
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    ======================= =========== ========================================================
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-21 17:13:38 +01:00
										 |  |  | .. _engine settings:
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | Engine ``settings.yml``
 | 
					
						
							|  |  |  | -----------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For a more  detailed description, see :ref:`settings engine` in the :ref:`settings.yml`.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. table:: Common options in the engine setup (``settings.yml``)
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-14 10:02:50 +02:00
										 |  |  |    ======================= =========== ==================================================
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    argument                type        information
 | 
					
						
							| 
									
										
										
										
											2022-06-14 10:02:50 +02:00
										 |  |  |    ======================= =========== ==================================================
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    name                    string      name of search-engine
 | 
					
						
							| 
									
										
										
										
											2022-06-14 10:02:50 +02:00
										 |  |  |    engine                  string      name of searxng-engine (file name without ``.py``)
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    enable_http             bool        enable HTTP (by default only HTTPS is enabled).
 | 
					
						
							|  |  |  |    shortcut                string      shortcut of search-engine
 | 
					
						
							|  |  |  |    timeout                 string      specific timeout for search-engine
 | 
					
						
							|  |  |  |    display_error_messages  boolean     display error messages on the web UI
 | 
					
						
							|  |  |  |    proxies                 dict        set proxies for a specific engine
 | 
					
						
							|  |  |  |                                        (e.g. ``proxies : {http: socks5://proxy:port,
 | 
					
						
							|  |  |  |                                        https: socks5://proxy:port}``)
 | 
					
						
							| 
									
										
										
										
											2022-06-14 10:02:50 +02:00
										 |  |  |    ======================= =========== ==================================================
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _engine overrides:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Overrides
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | ---------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-15 09:53:03 +02:00
										 |  |  | A few of the options have default values in the namespace of the engine's python
 | 
					
						
							|  |  |  | module, but are often overwritten by the settings.  If ``None`` is assigned to an
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | option in the engine file, it has to be redefined in the settings, otherwise
 | 
					
						
							| 
									
										
										
										
											2021-09-12 08:36:56 +02:00
										 |  |  | SearXNG will not start with that engine (global names with a leading underline can
 | 
					
						
							| 
									
										
										
										
											2021-06-09 15:16:59 +02:00
										 |  |  | be ``None``).
 | 
					
						
							| 
									
										
										
										
											2015-12-01 15:32:06 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | Here is an very simple example of the global names in the namespace of engine's
 | 
					
						
							|  |  |  | module:
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. code:: python
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  |    # engine dependent config
 | 
					
						
							|  |  |  |    categories = ['general']
 | 
					
						
							|  |  |  |    paging = True
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    _non_overwritten_global = 'foo'
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. table:: The naming of overrides is arbitrary / recommended overrides are:
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ======================= =========== ===========================================
 | 
					
						
							|  |  |  |    argument                type        information
 | 
					
						
							|  |  |  |    ======================= =========== ===========================================
 | 
					
						
							|  |  |  |    base_url                string      base-url, can be overwritten to use same
 | 
					
						
							|  |  |  |                                        engine on other URL
 | 
					
						
							|  |  |  |    number_of_results       int         maximum number of results per request
 | 
					
						
							|  |  |  |    language                string      ISO code of language and country like en_US
 | 
					
						
							|  |  |  |    api_key                 string      api-key if required by engine
 | 
					
						
							|  |  |  |    ======================= =========== ===========================================
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 10:56:29 +02:00
										 |  |  | .. _engine request:
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | Making a Request
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | ================
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | To perform a search an URL have to be specified.  In addition to specifying an
 | 
					
						
							|  |  |  | URL, arguments can be passed to the query.
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. _engine request arguments:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Passed Arguments (request)
 | 
					
						
							|  |  |  | --------------------------
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | These arguments can be used to construct the search query.  Furthermore,
 | 
					
						
							| 
									
										
										
										
											2015-12-01 15:32:06 +01:00
										 |  |  | parameters with default value can be redefined for special purposes.
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-29 20:54:46 +02:00
										 |  |  | .. _engine request online:
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-29 20:54:46 +02:00
										 |  |  | .. table:: If the ``engine_type`` is :py:obj:`online
 | 
					
						
							|  |  |  |            <searx.search.processors.online.OnlineProcessor.get_params>`
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    argument               type           default-value, information
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    url                    str            ``''``
 | 
					
						
							|  |  |  |    method                 str            ``'GET'``
 | 
					
						
							|  |  |  |    headers                set            ``{}``
 | 
					
						
							|  |  |  |    data                   set            ``{}``
 | 
					
						
							|  |  |  |    cookies                set            ``{}``
 | 
					
						
							|  |  |  |    verify                 bool           ``True``
 | 
					
						
							|  |  |  |    headers.User-Agent     str            a random User-Agent
 | 
					
						
							|  |  |  |    category               str            current category, like ``'general'``
 | 
					
						
							|  |  |  |    safesearch             int            ``0``, between ``0`` and ``2`` (normal, moderate, strict)
 | 
					
						
							|  |  |  |    time_range             Optional[str]  ``None``, can be ``day``, ``week``, ``month``, ``year``
 | 
					
						
							|  |  |  |    pageno                 int            current pagenumber
 | 
					
						
							| 
									
										
										
										
											2022-09-29 20:54:46 +02:00
										 |  |  |    searxng_locale         str            SearXNG's locale selected by user.  Specific language code like
 | 
					
						
							|  |  |  |                                          ``'en'``, ``'en-US'``, or ``'all'`` if unspecified.
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-29 20:54:46 +02:00
										 |  |  | .. _engine request online_dictionary:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. table:: If the ``engine_type`` is :py:obj:`online_dictionary
 | 
					
						
							|  |  |  |            <searx.search.processors.online_dictionary.OnlineDictionaryProcessor.get_params>`,
 | 
					
						
							|  |  |  |            in addition to the :ref:`online <engine request online>` arguments:
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    argument               type           default-value, information
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    from_lang              str            specific language code like ``'en_US'``
 | 
					
						
							|  |  |  |    to_lang                str            specific language code like ``'en_US'``
 | 
					
						
							|  |  |  |    query                  str            the text query without the languages
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-29 20:54:46 +02:00
										 |  |  | .. _engine request online_currency:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. table:: If the ``engine_type`` is :py:obj:`online_currency
 | 
					
						
							|  |  |  |            <searx.search.processors.online_currency.OnlineCurrencyProcessor.get_params>`,
 | 
					
						
							|  |  |  |            in addition to the :ref:`online <engine request online>` arguments:
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    argument               type           default-value, information
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    amount                 float          the amount to convert
 | 
					
						
							|  |  |  |    from                   str            ISO 4217 code
 | 
					
						
							|  |  |  |    to                     str            ISO 4217 code
 | 
					
						
							|  |  |  |    from_name              str            currency name
 | 
					
						
							|  |  |  |    to_name                str            currency name
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-29 20:54:46 +02:00
										 |  |  | .. _engine request online_url_search:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. table:: If the ``engine_type`` is :py:obj:`online_url_search
 | 
					
						
							|  |  |  |            <searx.search.processors.online_url_search.OnlineUrlSearchProcessor.get_params>`,
 | 
					
						
							|  |  |  |            in addition to the :ref:`online <engine request online>` arguments:
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    argument               type           default-value, information
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							|  |  |  |    search_url             dict           URLs from the search query:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                                          .. code:: python
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                                             {
 | 
					
						
							|  |  |  |                                               'http': str,
 | 
					
						
							|  |  |  |                                               'ftp': str,
 | 
					
						
							|  |  |  |                                               'data:image': str
 | 
					
						
							|  |  |  |                                             }
 | 
					
						
							|  |  |  |    ====================== ============== ========================================================================
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | Specify Request
 | 
					
						
							|  |  |  | ---------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The function :py:func:`def request(query, params):
 | 
					
						
							|  |  |  | <searx.engines.demo_online.request>` always returns the ``params`` variable, the
 | 
					
						
							|  |  |  | following parameters can be used to specify a search request:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. table::
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    =================== =========== ==========================================================================
 | 
					
						
							|  |  |  |    argument            type        information
 | 
					
						
							|  |  |  |    =================== =========== ==========================================================================
 | 
					
						
							|  |  |  |    url                 str         requested url
 | 
					
						
							|  |  |  |    method              str         HTTP request method
 | 
					
						
							|  |  |  |    headers             set         HTTP header information
 | 
					
						
							|  |  |  |    data                set         HTTP data information
 | 
					
						
							|  |  |  |    cookies             set         HTTP cookies
 | 
					
						
							|  |  |  |    verify              bool        Performing SSL-Validity check
 | 
					
						
							|  |  |  |    allow_redirects     bool        Follow redirects
 | 
					
						
							|  |  |  |    max_redirects       int         maximum redirects, hard limit
 | 
					
						
							|  |  |  |    soft_max_redirects  int         maximum redirects, soft limit. Record an error but don't stop the engine
 | 
					
						
							|  |  |  |    raise_for_httperror bool        True by default: raise an exception if the HTTP code of response is >= 300
 | 
					
						
							|  |  |  |    =================== =========== ==========================================================================
 | 
					
						
							| 
									
										
										
										
											2015-11-28 19:26:45 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 10:56:29 +02:00
										 |  |  | .. _engine results:
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. _engine media types:
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | Result Types (``template``)
 | 
					
						
							|  |  |  | ===========================
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | Each result item of an engine can be of different media-types.  Currently the
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | following media-types are supported.  To set another media-type as
 | 
					
						
							|  |  |  | :ref:`template default`, the parameter ``template`` must be set to the desired
 | 
					
						
							|  |  |  | type.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. _template default:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``default``
 | 
					
						
							|  |  |  | -----------
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. table::  Parameter of the **default** media type:
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    result-parameter          information
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    url                       string, url of the result
 | 
					
						
							|  |  |  |    title                     string, title of the result
 | 
					
						
							|  |  |  |    content                   string, general result-text
 | 
					
						
							|  |  |  |    publishedDate             :py:class:`datetime.datetime`, time of publish
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | .. _template images:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``images``
 | 
					
						
							|  |  |  | ----------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-20 10:51:58 +01:00
										 |  |  | .. list-table:: Parameter of the **images** media type
 | 
					
						
							|  |  |  |    :header-rows: 2
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-20 10:51:58 +01:00
										 |  |  |    * - result-parameter
 | 
					
						
							|  |  |  |      - Python type
 | 
					
						
							|  |  |  |      - information
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - template
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - is set to ``images.html``
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - url
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - url to the result site
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - title
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - title of the result
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - content
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - description of the image
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - publishedDate
 | 
					
						
							|  |  |  |      - :py:class:`datetime <datetime.datetime>`
 | 
					
						
							|  |  |  |      - time of publish
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - img_src
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - url to the result image
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - thumbnail_src
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - url to a small-preview image
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - resolution
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the resolution of the image (e.g. ``1920 x 1080`` pixel)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - img_format
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the format of the image (e.g. ``png``)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - filesize
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - size of bytes in :py:obj:`human readable <searx.humanize_bytes>` notation
 | 
					
						
							|  |  |  |        (e.g. ``MB`` for 1024 \* 1024 Bytes filesize).
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | .. _template videos:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``videos``
 | 
					
						
							|  |  |  | ----------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. table::  Parameter of the **videos** media type:
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    result-parameter          information
 | 
					
						
							|  |  |  |    ------------------------- -----------------------------------------------------
 | 
					
						
							|  |  |  |    template                  is set to ``videos.html``
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    url                       string, url of the result
 | 
					
						
							|  |  |  |    title                     string, title of the result
 | 
					
						
							|  |  |  |    content                   *(not implemented yet)*
 | 
					
						
							|  |  |  |    publishedDate             :py:class:`datetime.datetime`, time of publish
 | 
					
						
							|  |  |  |    thumbnail                 string, url to a small-preview image
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _template torrent:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``torrent``
 | 
					
						
							|  |  |  | -----------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-12 19:20:56 +01:00
										 |  |  | .. _magnetlink: https://en.wikipedia.org/wiki/Magnet_URI_scheme
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. table::  Parameter of the **torrent** media type:
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    result-parameter          information
 | 
					
						
							|  |  |  |    ------------------------- -----------------------------------------------------
 | 
					
						
							|  |  |  |    template                  is set to ``torrent.html``
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    url                       string, url of the result
 | 
					
						
							|  |  |  |    title                     string, title of the result
 | 
					
						
							|  |  |  |    content                   string, general result-text
 | 
					
						
							|  |  |  |    publishedDate             :py:class:`datetime.datetime`,
 | 
					
						
							|  |  |  |                              time of publish *(not implemented yet)*
 | 
					
						
							|  |  |  |    seed                      int, number of seeder
 | 
					
						
							|  |  |  |    leech                     int, number of leecher
 | 
					
						
							|  |  |  |    filesize                  int, size of file in bytes
 | 
					
						
							|  |  |  |    files                     int, number of files
 | 
					
						
							|  |  |  |    magnetlink                string, magnetlink_ of the result
 | 
					
						
							|  |  |  |    torrentfile               string, torrentfile of the result
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _template map:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``map``
 | 
					
						
							|  |  |  | -------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:53:00 +02:00
										 |  |  | .. table::  Parameter of the **map** media type:
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    result-parameter          information
 | 
					
						
							|  |  |  |    ------------------------- -----------------------------------------------------
 | 
					
						
							|  |  |  |    template                  is set to ``map.html``
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							|  |  |  |    url                       string, url of the result
 | 
					
						
							|  |  |  |    title                     string, title of the result
 | 
					
						
							|  |  |  |    content                   string, general result-text
 | 
					
						
							|  |  |  |    publishedDate             :py:class:`datetime.datetime`, time of publish
 | 
					
						
							|  |  |  |    latitude                  latitude of result (in decimal format)
 | 
					
						
							|  |  |  |    longitude                 longitude of result (in decimal format)
 | 
					
						
							|  |  |  |    boundingbox               boundingbox of result (array of 4. values
 | 
					
						
							|  |  |  |                              ``[lat-min, lat-max, lon-min, lon-max]``)
 | 
					
						
							|  |  |  |    geojson                   geojson of result (https://geojson.org/)
 | 
					
						
							|  |  |  |    osm.type                  type of osm-object (if OSM-Result)
 | 
					
						
							|  |  |  |    osm.id                    id of osm-object (if OSM-Result)
 | 
					
						
							|  |  |  |    address.name              name of object
 | 
					
						
							|  |  |  |    address.road              street name of object
 | 
					
						
							|  |  |  |    address.house_number      house number of object
 | 
					
						
							|  |  |  |    address.locality          city, place of object
 | 
					
						
							|  |  |  |    address.postcode          postcode of object
 | 
					
						
							|  |  |  |    address.country           country of object
 | 
					
						
							|  |  |  |    ========================= =====================================================
 | 
					
						
							| 
									
										
										
										
											2022-09-18 14:52:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _template paper:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``paper``
 | 
					
						
							|  |  |  | ---------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-18 14:52:54 +02:00
										 |  |  | .. _BibTeX format: https://www.bibtex.com/g/bibtex-format/
 | 
					
						
							|  |  |  | .. _BibTeX field types: https://en.wikipedia.org/wiki/BibTeX#Field_types
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. list-table:: Parameter of the **paper** media type /
 | 
					
						
							|  |  |  |                 see `BibTeX field types`_ and `BibTeX format`_
 | 
					
						
							|  |  |  |    :header-rows: 2
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - result-parameter
 | 
					
						
							|  |  |  |      - Python type
 | 
					
						
							|  |  |  |      - information
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - template
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - is set to ``paper.html``
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - title
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - title of the result
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - content
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - abstract
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - comments
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - free text display in italic below the content
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - tags
 | 
					
						
							|  |  |  |      - :py:class:`List <list>`\ [\ :py:class:`str`\ ]
 | 
					
						
							|  |  |  |      - free tag list
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - publishedDate
 | 
					
						
							|  |  |  |      - :py:class:`datetime <datetime.datetime>`
 | 
					
						
							|  |  |  |      - last publication date
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-24 10:56:07 +02:00
										 |  |  |    * - type
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - short description of medium type, e.g. *book*, *pdf* or *html* ...
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-18 14:52:54 +02:00
										 |  |  |    * - authors
 | 
					
						
							|  |  |  |      - :py:class:`List <list>`\ [\ :py:class:`str`\ ]
 | 
					
						
							|  |  |  |      - list of authors of the work (authors with a "s")
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - editor
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - list of editors of a book
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - publisher
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - name of the publisher
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - journal
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - name of the journal or magazine the article was
 | 
					
						
							|  |  |  |        published in
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - volume
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - volume number
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-23 19:58:14 +02:00
										 |  |  |    * - pages
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - page range where the article is
 | 
					
						
							| 
									
										
										
										
											2022-09-18 14:52:54 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |    * - number
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - number of the report or the issue number for a journal article
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - doi
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - DOI number (like ``10.1038/d41586-018-07848-2``)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - issn
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:46:29 +02:00
										 |  |  |      - :py:class:`List <list>`\ [\ :py:class:`str`\ ]
 | 
					
						
							| 
									
										
										
										
											2022-09-18 14:52:54 +02:00
										 |  |  |      - ISSN number like ``1476-4687``
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - isbn
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:46:29 +02:00
										 |  |  |      - :py:class:`List <list>`\ [\ :py:class:`str`\ ]
 | 
					
						
							| 
									
										
										
										
											2022-09-18 14:52:54 +02:00
										 |  |  |      - ISBN number like ``9780201896831``
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - pdf_url
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - URL to the full article, the PDF version
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - html_url
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - URL to full article, HTML version
 | 
					
						
							| 
									
										
										
										
											2023-06-30 18:07:02 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-19 21:06:26 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. _template packages:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``packages``
 | 
					
						
							|  |  |  | ------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. list-table:: Parameter of the **packages** media type
 | 
					
						
							|  |  |  |    :header-rows: 2
 | 
					
						
							|  |  |  |    :width: 100%
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - result-parameter
 | 
					
						
							|  |  |  |      - Python type
 | 
					
						
							|  |  |  |      - information
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - template
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - is set to ``packages.html``
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - title
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - title of the result
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - content
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - abstract
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - package_name
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the name of the package
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - version
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the current version of the package
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - maintainer
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the maintainer or author of the project
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - publishedDate
 | 
					
						
							|  |  |  |      - :py:class:`datetime <datetime.datetime>`
 | 
					
						
							|  |  |  |      - date of latest update or release
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - tags
 | 
					
						
							|  |  |  |      - :py:class:`List <list>`\ [\ :py:class:`str`\ ]
 | 
					
						
							|  |  |  |      - free tag list
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - popularity
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the popularity of the package, e.g. rating or download count
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - license_name
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the name of the license
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - license_url
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the web location of a license copy
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - homepage
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the url of the project's homepage
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    * - source_code_url
 | 
					
						
							|  |  |  |      - :py:class:`str`
 | 
					
						
							|  |  |  |      - the location of the project's source code
 | 
					
						
							| 
									
										
										
										
											2024-05-06 08:33:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |    * - links
 | 
					
						
							|  |  |  |      - :py:class:`dict`
 | 
					
						
							|  |  |  |      - additional links in the form of ``{'link_name': 'http://example.com'}``
 |