summaryrefslogtreecommitdiff
path: root/docs/admin
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-06-04 13:09:26 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2021-06-04 15:05:58 +0200
commitc5ccd50ffaa4254b6ad9902f6eb89c34e4f22f01 (patch)
treec13caf5e46baf3cf9f4d8fa6b58a5d2c70958428 /docs/admin
parent27e5a7437a7af51f38a076a86deb9115c9a345b0 (diff)
[docs] revision of the blog article about local search engines
The blog article 'Query your local search engines' has been renamed 'Local Search Engines', revised and moved into admin's chapter 'Engine & Settings'. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'docs/admin')
-rw-r--r--docs/admin/engines/index.rst3
-rw-r--r--docs/admin/engines/search-indexer-engines.rst136
2 files changed, 137 insertions, 2 deletions
diff --git a/docs/admin/engines/index.rst b/docs/admin/engines/index.rst
index 51707b792..80f4120a5 100644
--- a/docs/admin/engines/index.rst
+++ b/docs/admin/engines/index.rst
@@ -17,7 +17,6 @@ Engines & Settings
private-engines
recoll
sql-engines
+ search-indexer-engines
command-line-engines
searx.engines.xpath
-
-
diff --git a/docs/admin/engines/search-indexer-engines.rst b/docs/admin/engines/search-indexer-engines.rst
new file mode 100644
index 000000000..8d7c10d67
--- /dev/null
+++ b/docs/admin/engines/search-indexer-engines.rst
@@ -0,0 +1,136 @@
+====================
+Local Search Engines
+====================
+
+.. sidebar:: further read
+
+ - `Comparison to alternatives
+ <https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
+
+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``.
+
+Futhermore, 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
+===========
+
+.. sidebar:: info
+
+ - :origin:`meilisearch.py <searx/engines/meilisearch.py>`
+ - `MeiliSearch <https://www.meilisearch.com>`_
+ - `MeiliSearch Documentation <https://docs.meilisearch.com/>`_
+ - `Install MeiliSearch
+ <https://docs.meilisearch.com/learn/getting_started/installation.html>`_
+
+MeiliSearch_ is aimed at individuals and small companies. It is designed for
+small-scale (less than 10 million documents) data collections. E.g. it is great
+for storing web pages you have visited and searching in the contents later.
+
+The engine supports faceted search, so you can search in a subset of documents
+of the collection. Furthermore, you can search in MeiliSearch_ instances that
+require authentication by setting ``auth_token``.
+
+Here is a simple example to query a Meilisearch instance:
+
+.. code:: yaml
+
+ - name: meilisearch
+ engine: meilisearch
+ shortcut: mes
+ base_url: http://localhost:7700
+ index: my-index
+ enable_http: true
+
+
+.. _engine elasticsearch:
+
+Elasticsearch
+=============
+
+.. sidebar:: info
+
+ - :origin:`elasticsearch.py <searx/engines/elasticsearch.py>`
+ - `Elasticsearch <https://www.elastic.co/elasticsearch/>`_
+ - `Elasticsearch Guide
+ <https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html>`_
+ - `Install Elasticsearch
+ <https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html>`_
+
+Elasticsearch_ supports numerous ways to query the data it is storing. At the
+moment the engine supports the most popular search methods (``query_type``):
+
+- ``match``,
+- ``simple_query_string``,
+- ``term`` and
+- ``terms``.
+
+If none of the methods fit your use case, you can select ``custom`` query type
+and provide the JSON payload to submit to Elasticsearch in
+``custom_query_json``.
+
+The following is an example configuration for an Elasticsearch_ instance with
+authentication configured to read from ``my-index`` index.
+
+.. code:: yaml
+
+ - name: elasticsearch
+ shortcut: es
+ engine: elasticsearch
+ base_url: http://localhost:9200
+ username: elastic
+ password: changeme
+ index: my-index
+ query_type: match
+ # custom_query_json: '{ ... }'
+ enable_http: true
+
+.. _engine solr:
+
+Solr
+====
+
+.. sidebar:: info
+
+ - :origin:`solr.py <searx/engines/solr.py>`
+ - `Solr <https://solr.apache.org>`_
+ - `Solr Resources <https://solr.apache.org/resources.html>`_
+ - `Install Solr <https://solr.apache.org/guide/installing-solr.html>`_
+
+Solr_ is a popular search engine based on Lucene, just like Elasticsearch_. But
+instead of searching in indices, you can search in collections.
+
+This is an example configuration for searching in the collection
+``my-collection`` and get the results in ascending order.
+
+.. code:: yaml
+
+ - name: solr
+ engine: solr
+ shortcut: slr
+ base_url: http://localhost:8983
+ collection: my-collection
+ sort: asc
+ enable_http: true
+
+
+Acknowledgment
+==============
+
+This development was sponsored by `Search and Discovery Fund
+<https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_.