Back to Searxng

NoSQL databases

docs/dev/engines/offline/nosql-engines.rst

latest2.4 KB
Original Source

.. _nosql engines:

=============== NoSQL databases

.. sidebar:: further read

  • NoSQL databases <https://en.wikipedia.org/wiki/NoSQL>_
  • valkey.io <https://valkey.io/>_
  • MongoDB <https://www.mongodb.com>_

.. contents:: :depth: 2 :local: :backlinks: entry

.. sidebar:: info

Initial sponsored by Search and Discovery Fund <https://nlnet.nl/discovery>_ of NLnet Foundation <https://nlnet.nl/>_.

The following NoSQL databases_ are supported:

  • :ref:engine valkey_server
  • :ref:engine mongodb

All of the engines above are just commented out in the :origin:settings.yml <searx/settings.yml>, as you have to set various options and install dependencies before using them.

By default, the engines use the key-value template for displaying results / see :origin:simple <searx/templates/simple/result_templates/key-value.html> theme. If you are not satisfied with the original result layout, you can use your own template, set result_template attribute to {template_name} and place the templates at::

searx/templates/{theme_name}/result_templates/{template_name}

Furthermore, if you do not wish to expose these engines on a public instance, you can still add them and limit the access by setting tokens as described in section :ref:private engines.

Extra Dependencies

For using :ref:engine valkey_server or :ref:engine mongodb you need to install additional packages in Python's Virtual Environment of your SearXNG instance. To switch into the environment (:ref:searxng-src) you can use :ref:searxng.sh::

$ sudo utils/searxng.sh instance cmd bash (searxng-pyenv)$ pip install ...

Configure the engines

NoSQL databases_ are used for storing arbitrary data without first defining their structure.

.. _engine valkey_server:

Valkey Server

.. _valkey: https://github.com/andymccurdy/valkey-py#installation

.. sidebar:: info

  • pip install valkey_
  • valkey.io_
  • :origin:valkey_server.py <searx/engines/valkey_server.py>

.. automodule:: searx.engines.valkey_server :members:

.. _engine mongodb:

MongoDB

.. _pymongo: https://github.com/mongodb/mongo-python-driver#installation

.. sidebar:: info

  • pip install pymongo_
  • MongoDB_
  • :origin:mongodb.py <searx/engines/mongodb.py>

.. automodule:: searx.engines.mongodb :members: