SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
Find a file
Markus Heiser 3df7d50df0 [fix] replace language_support by a language/region view
Many WEB-search engines (e.g. startpage) response best results if a **region**
is selected, most often a language filter is also in the properties of the
WEB-search engine.

hint::

   The **search language** should not be mixed: sometimes the language argument
   is just the language of the UI with none effect on the result list.

To summarize:

Some WEB-search engines have language codes (e.g. `ca`) in their properties,
other have a region codes (e.g. `ca-ES`), some have regions and languages in
their properties (e.g. startpage) and other engine do not have any language or
region support.

In the past we generalized *language* over all kind of engines without taking
into mind that several WEB-search engines have best results when there is a
region selected.

  This *language-centric* view in SearXNG is misleading when we need
  region-codes to parameterize a engine request!

This patch replaces the *language-centric* view by a "language / region" view.

Conclusions:

With regions we can't say any longer that a engine supports *this or that*
language. By example: when the user selects 'zh' and a engine supports only
region codes like 'zh-TW' or 'zh-CN' we do not what results the user expects /
similar with 'en' or 'fr when the engine needs a region tag.

- Since it is unclear what the user expects by his language selection, we can't
  assert a property that says: "supports_selected_language"

  The feature is replaced in the UI by the wider sense of "language_support",
  what stands for:

    The engine has some kind of language support, either
    by a region tag or by a language tag.

- A list of "supported_languages" does not make sense when there are regions
  responsible for the result of an engine.

  The "supported_languages" has been removed from the /config URL.

- The `has_language` test in the `searx/search/checker/impl.py` has been removed
  since it does not cover engines with region support.

  If there is a need for such a test we can implement new tests after all
  engines with language (region) support has been moved to the *supported
  properites* scheme (`'type': 'engine_properties'`) / see commit previous
  commit:

    [mod] engines_languages.json: add new type EngineProperties

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-08-29 18:13:46 +02:00
.github [clean up] drop obsolete searx, filtron and morty install scripts 2022-07-30 13:39:35 +02:00
dockerfiles docker: log to stdout 2022-03-19 13:47:45 +01:00
docs [mod] engines_languages.json: add new type EngineProperties 2022-08-29 18:13:46 +02:00
examples Fix whitespaces 2016-07-11 18:52:37 +07:00
searx [fix] replace language_support by a language/region view 2022-08-29 18:13:46 +02:00
searxng_extra [mod] engines_languages.json: add new type EngineProperties 2022-08-29 18:13:46 +02:00
src/brand [simple] ImageLayout.watch: img_load_error.svg if img load fails 2021-11-29 21:10:13 +01:00
tests [fix] improve OpenSearch description 2022-08-11 19:04:36 +02:00
utils [fix] uWSGI: increase buffer-size 2022-07-31 12:40:06 +02:00
.coveragerc [mod] use github actions instead of travis 2020-11-17 15:09:06 +01:00
.dir-locals.el [emacs] flycheck should use the eslint checker from developer tools 2022-01-24 11:34:34 +01:00
.dockerignore [fix] tidy up ignore lists .gitignore & .dockerignore 2021-06-22 16:55:30 +02:00
.gitattributes [fix] update .gitattributes 2021-06-22 20:34:39 +02:00
.gitignore [fix] ensure that test.pyright installs pyright 2022-01-23 08:00:39 +01:00
.nvmrc Node: update to node 16.15.1 2022-06-25 14:07:39 +02:00
.pylintrc [fix] prepare for pylint 2.14.0 2022-06-03 15:41:52 +02:00
.weblate [translations] web integration 2021-08-07 15:06:06 +02:00
.yamllint.yml [enh] add test.yamllint - lint yaml files 2021-06-05 17:41:24 +02:00
AUTHORS.rst [mod] link to public-instances can be set to hidden 2022-07-04 13:26:01 +02:00
babel.cfg [fix] jinja/babel: WithExtension and AutoEscapeExtension are built-in now. 2022-03-25 09:42:12 +01:00
CHANGELOG.rst reference docs.searxng.org 2022-01-02 21:18:29 +01:00
CONTRIBUTING.md reference docs.searxng.org 2022-01-02 21:18:29 +01:00
Dockerfile Dockerfile: use alpine 3.16 2022-06-27 17:44:30 +00:00
LICENSE [fix] full AGPLv3+ license according to #382 2015-07-04 18:23:54 +02:00
Makefile [clean up] drop obsolete searx, filtron and morty install scripts 2022-07-30 13:39:35 +02:00
manage [mod] engines_languages.json: add new type EngineProperties 2022-08-29 18:13:46 +02:00
package.json Node: update to node 16.15.1 2022-06-25 14:07:39 +02:00
PULL_REQUEST_TEMPLATE.md Add PR template and contribution guidelines 2020-07-10 17:10:02 +02:00
pyrightconfig-ci.json [mod] add test.pyright to test & ci.test targets 2022-01-23 08:00:39 +01:00
pyrightconfig.json [fix] pyrightconfig.json include only dedicated folders in the test 2022-01-23 08:00:39 +01:00
README.rst [README] add doc-links: disable metrics & hostname replace 2022-07-05 14:19:48 +02:00
requirements-dev.txt Bump selenium from 4.4.0 to 4.4.3 2022-08-19 07:05:11 +00:00
requirements.txt Bump pygments from 2.12.0 to 2.13.0 2022-08-19 07:05:14 +00:00
SECURITY.md [enh] add security policy 2022-01-25 00:56:20 +01:00
setup.py [mod] replace /help by /info pages and include pages in project docs 2022-03-12 11:36:31 +01:00



Privacy-respecting, hackable metasearch engine

If you are looking for running instances, ready to use, then visit searx.space. Otherwise jump to the user, admin and developer handbooks you will find on our homepage.

SearXNG install SearXNG homepage SearXNG wiki AGPL License Issues commits weblate SearXNG logo


Contact

Come join us if you have questions or just want to chat about SearXNG.

Matrix

#searxng:matrix.org

IRC

#searxng on libera.chat which is bridged to Matrix.

Differences to searx

SearXNG is a fork of searx. Here are some of the changes:

User experience

  • Huge update of the simple theme:
    • usable on desktop, tablet and mobile
    • light and dark versions (you can choose in the preferences)
    • support right-to-left languages
    • see the screenshots
  • the translations are up to date, you can contribute on Weblate
  • the preferences page has been updated:
    • you can see which engines are reliable or not
    • engines are grouped inside each tab
    • each engine has a description
  • thanks to the anonymous metrics, it is easier to report a bug of an engine and thus engines get fixed more quickly
  • administrator can block and/or replace the URLs in the search results

Setup

  • you don't need Morty to proxy the images even on a public instance
  • you don't need Filtron to block bots, we implemented the builtin limiter
  • you get a well maintained Docker image, now also built for ARM64 and ARM/v7 architectures
  • alternatively we have up to date installation scripts

Contributing is easier

  • readable debug log
  • contributions to the themes are made easier, check out our Development Quickstart guide
  • a lot of code cleanup and bug fixes
  • the dependencies are up to date

Translations

We need translators, suggestions are welcome at https://weblate.bubu1.eu/projects/searxng/searxng/

Make a donation

You can support the SearXNG project by clicking on the donation page: https://docs.searxng.org/donate.html