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 4a28a5e6f6 [fix] replace language_support by a language/region view
Most engines response best results if a region is selected, most often a
language is also in the properties of a engine and sometimes the language
argument is just the language of the UI.  Most often choosing a language has a
minor effect on the result list.

To summarize:

Some engines have language codes (e.g. `ca`) in their properties, some have
region codes (e.g. `ca-ES`), some have regions and languages in their properties
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 most engines gave best result when there is a region selected.

  This *language-centric* view in SearXNG is misleading when we need
  region-codes to parameterize 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 (see searxng_extra/update/update_languages.py)

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-04-19 14:35:02 +02:00
.github GitHub monthly data update: add engine descriptions 2022-04-16 13:16:27 +02:00
dockerfiles docker: log to stdout 2022-03-19 13:47:45 +01:00
docs [mod] engines_languages.json: add new type engine_properties 2022-04-19 14:35:02 +02:00
examples Fix whitespaces 2016-07-11 18:52:37 +07:00
searx [fix] replace language_support by a language/region view 2022-04-19 14:35:02 +02:00
searxng_extra [mod] engines_languages.json: add new type engine_properties 2022-04-19 14:35:02 +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] dailymotion engine: filter by language & country 2022-04-16 09:27:34 +02:00
utils typo: wanr_msg -> warn_msg 2022-04-13 20:28:28 +08:00
.config.sh reference docs.searxng.org 2022-01-02 21:18:29 +01: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 [mod] NVM: pin Node.js to v16.13.0 2021-11-20 15:19:17 +01:00
.pylintrc [pylint] disable consider-using-f-string in .pylintrc 2021-09-17 09:22:11 +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] engines - add IMDB / Internet Movie Database 2021-10-03 11:44:25 +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 docker: log to stdout 2022-03-19 13:47:45 +01:00
LICENSE [fix] full AGPLv3+ license according to #382 2015-07-04 18:23:54 +02:00
Makefile [mod] add test.pyright to test & ci.test targets 2022-01-23 08:00:39 +01:00
manage [mod] engines_languages.json: add new type engine_properties 2022-04-19 14:35:02 +02:00
package.json simple theme: upgrade some of dependencies 2022-03-20 18:10:24 +01: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.rst: add a link to the screenshots 2022-03-11 06:54:21 +00:00
requirements-dev.txt Bump pylint from 2.13.4 to 2.13.5 2022-04-08 07:04:55 +00:00
requirements.txt Bump setproctitle from 1.2.2 to 1.2.3 2022-04-15 07:06:06 +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
  • it is easier to report a bug of an engine
  • but you can also disable the recording of the metrics on the server

Setup

  • the Docker image is now also built for ARM64 and ARM/v7 architectures
  • you don't need Morty to proxy the images even on a public instance
  • on the way to embed Filtron into SearXNG
  • 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/