searxng/docs/admin/engines/configured_engines.rst
Markus Heiser 6e5f22e558 [mod] replace engines_languages.json by engines_traits.json
Implementations of the *traits* of the engines.

Engine's traits are fetched from the origin engine and stored in a JSON file in
the *data folder*.  Most often traits are languages and region codes and their
mapping from SearXNG's representation to the representation in the origin search
engine.

To load traits from the persistence::

    searx.enginelib.traits.EngineTraitsMap.from_data()

For new traits new properties can be added to the class::

    searx.enginelib.traits.EngineTraits

.. hint::

   Implementation is downward compatible to the deprecated *supported_languages
   method* from the vintage implementation.

   The vintage code is tagged as *deprecated* an can be removed when all engines
   has been ported to the *traits method*.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-03-24 10:37:42 +01:00

2 KiB

Configured Engines

Further reading ..

  • engines-dev
  • settings engine

Explanation of the general engine configuration shown in the table configured engines.

searx

SearXNG supports {{engines | length}} search engines (of which {{enabled_engine_count}} are enabled by default).

{% for category, engines in categories_as_tabs.items() %}

{{category}} search engines

{% for group, engines in engines | group_engines_in_tab %}

{% if loop.length > 1 %} {{group}} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {% endif %}

    • 5 Engines configured by default (in settings.yml <engine settings>)
    • 3 Supported features <engine file>
    • Name
    • Shortcut
    • Module
    • Disabled
    • Timeout
    • Weight
    • Paging
    • Language, Region
    • Safe search
    • Time range

{% for mod in engines %}

    • {{mod.name}}
    • !{{mod.shortcut}}
    • {%- if 'searx.engines.' + mod.__name__ in documented_modules %} :py~searx.engines.{{mod.__name__}} {%- else %} {{mod.__name__}} <searx/engines/{{mod.__name__}}.py> {%- endif %}
    • {{(mod.disabled and "y") or ""}} {%- if mod.about and mod.about.language %} ({{mod.about.language | upper}}) {%- endif %}
    • {{mod.timeout}}
    - {{mod.weight or 1 }} {% if mod.engine_type == 'online' %}
    • {{(mod.paging and "y") or ""}}
    • {{(mod.language_support and "y") or ""}}
    • {{(mod.safesearch and "y") or ""}}
    - {{(mod.time_range_support and "y") or ""}} {% else %} - 3 not applicable ({{mod.engine_type}}) {% endif %}

{% endfor %} {% endfor %} {% endfor %}