summaryrefslogtreecommitdiff
path: root/_sources/dev/engines/offline
diff options
context:
space:
mode:
authorreturn42 <markus.heiser@darmarIT.de>2025-01-10 07:15:40 +0000
committerreturn42 <markus.heiser@darmarIT.de>2025-01-10 07:15:40 +0000
commitbf98d6b3f17d56ff760d9da5e5b4858ea104ffa9 (patch)
tree67261a258d820bf1272e33547b975e20acdfe61e /_sources/dev/engines/offline
downloadsearxng-gh-pages.tar.gz
searxng-gh-pages.zip
[doc] build from commit 94a0b415ef587e013df9e7350667b752a3822e90gh-pages
Diffstat (limited to '_sources/dev/engines/offline')
-rw-r--r--_sources/dev/engines/offline/command-line-engines.rst.txt23
-rw-r--r--_sources/dev/engines/offline/nosql-engines.rst.txt97
-rw-r--r--_sources/dev/engines/offline/search-indexer-engines.rst.txt62
-rw-r--r--_sources/dev/engines/offline/sql-engines.rst.txt134
4 files changed, 316 insertions, 0 deletions
diff --git a/_sources/dev/engines/offline/command-line-engines.rst.txt b/_sources/dev/engines/offline/command-line-engines.rst.txt
new file mode 100644
index 000000000..0a80d698e
--- /dev/null
+++ b/_sources/dev/engines/offline/command-line-engines.rst.txt
@@ -0,0 +1,23 @@
+.. _engine command:
+
+====================
+Command Line Engines
+====================
+
+.. sidebar:: info
+
+ - :origin:`command.py <searx/engines/command.py>`
+ - :ref:`offline engines`
+
+.. 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/>`_.
+
+.. automodule:: searx.engines.command
+ :members:
diff --git a/_sources/dev/engines/offline/nosql-engines.rst.txt b/_sources/dev/engines/offline/nosql-engines.rst.txt
new file mode 100644
index 000000000..76f5cfb61
--- /dev/null
+++ b/_sources/dev/engines/offline/nosql-engines.rst.txt
@@ -0,0 +1,97 @@
+.. _nosql engines:
+
+===============
+NoSQL databases
+===============
+
+.. sidebar:: further read
+
+ - `NoSQL databases <https://en.wikipedia.org/wiki/NoSQL>`_
+ - `redis.io <https://redis.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 redis_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 redis_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 redis_server:
+
+Redis Server
+------------
+
+.. _redis: https://github.com/andymccurdy/redis-py#installation
+
+.. sidebar:: info
+
+ - ``pip install`` redis_
+ - redis.io_
+ - :origin:`redis_server.py <searx/engines/redis_server.py>`
+
+.. automodule:: searx.engines.redis_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:
+
diff --git a/_sources/dev/engines/offline/search-indexer-engines.rst.txt b/_sources/dev/engines/offline/search-indexer-engines.rst.txt
new file mode 100644
index 000000000..fa92798cb
--- /dev/null
+++ b/_sources/dev/engines/offline/search-indexer-engines.rst.txt
@@ -0,0 +1,62 @@
+=================
+Local Search APIs
+=================
+
+.. sidebar:: further read
+
+ - `Comparison to alternatives
+ <https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
+
+.. contents::
+ :depth: 1
+ :local:
+ :backlinks: entry
+
+.. sidebar:: info
+
+ Initial sponsored by `Search and Discovery Fund
+ <https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_.
+
+Administrators might find themselves wanting to integrate locally running search
+engines. The following ones are supported for now:
+
+* `Elasticsearch`_
+* `Meilisearch`_
+* `Solr`_
+
+Each search engine is powerful, capable of full-text search. All of the engines
+above are added to ``settings.yml`` just commented out, as you have to
+``base_url`` for all them.
+
+Please note that if you are not using HTTPS to access these engines, you have to
+enable HTTP requests by setting ``enable_http`` to ``True``.
+
+Furthermore, if you do not want 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`.
+
+.. _engine meilisearch:
+
+MeiliSearch
+===========
+
+.. automodule:: searx.engines.meilisearch
+ :members:
+
+
+.. _engine elasticsearch:
+
+Elasticsearch
+=============
+
+.. automodule:: searx.engines.elasticsearch
+ :members:
+
+.. _engine solr:
+
+Solr
+====
+
+.. automodule:: searx.engines.solr
+ :members:
+
diff --git a/_sources/dev/engines/offline/sql-engines.rst.txt b/_sources/dev/engines/offline/sql-engines.rst.txt
new file mode 100644
index 000000000..f642f1f29
--- /dev/null
+++ b/_sources/dev/engines/offline/sql-engines.rst.txt
@@ -0,0 +1,134 @@
+.. _sql engines:
+
+===========
+SQL Engines
+===========
+
+.. sidebar:: further read
+
+ - `SQLite <https://www.sqlite.org/index.html>`_
+ - `PostgreSQL <https://www.postgresql.org>`_
+ - `MySQL <https://www.mysql.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/>`_.
+
+With the *SQL engines* you can bind SQL databases into SearXNG. The following
+Relational Database Management System (RDBMS) are supported:
+
+- :ref:`engine sqlite`
+- :ref:`engine postgresql`
+- :ref:`engine mysql_server` & :ref:`engine mariadb_server`
+
+All of the engines above are just commented out in the :origin:`settings.yml
+<searx/settings.yml>`, as you have to set the required attributes for the
+engines, e.g. ``database:`` ...
+
+.. code:: yaml
+
+ - name: ...
+ engine: {sqlite|postgresql|mysql_server}
+ database: ...
+ result_template: {template_name}
+ query_str: ...
+
+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}
+
+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 postgresql` or :ref:`engine mysql_server` 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
+=====================
+
+The configuration of the new database engines are similar. You must put a valid
+SQL-SELECT query in ``query_str``. At the moment you can only bind at most one
+parameter in your query. By setting the attribute ``limit`` you can define how
+many results you want from the SQL server. Basically, it is the same as the
+``LIMIT`` keyword in SQL.
+
+Please, do not include ``LIMIT`` or ``OFFSET`` in your SQL query as the engines
+rely on these keywords during paging. If you want to configure the number of
+returned results use the option ``limit``.
+
+.. _engine sqlite:
+
+SQLite
+------
+
+.. sidebar:: info
+
+ - :origin:`sqlite.py <searx/engines/sqlite.py>`
+
+.. automodule:: searx.engines.sqlite
+ :members:
+
+
+.. _engine postgresql:
+
+PostgreSQL
+----------
+
+.. _psycopg2: https://www.psycopg.org/install
+
+.. sidebar:: info
+
+ - :origin:`postgresql.py <searx/engines/postgresql.py>`
+ - ``pip install`` `psycopg2-binary <psycopg2>`_
+
+.. automodule:: searx.engines.postgresql
+ :members:
+
+.. _engine mysql_server:
+
+MySQL
+-----
+
+.. sidebar:: info
+
+ - :origin:`mysql_server.py <searx/engines/mysql_server.py>`
+ - ``pip install`` :pypi:`mysql-connector-python <mysql-connector-python>`
+
+
+.. automodule:: searx.engines.mysql_server
+ :members:
+
+.. _engine mariadb_server:
+
+MariaDB
+--------
+
+.. sidebar:: info
+
+ - :origin:`mariadb_server.py <searx/engines/mariadb_server.py>`
+ - ``pip install`` :pypi:`mariadb <mariadb>`
+
+
+.. automodule:: searx.engines.mariadb_server
+ :members: