forked from Ponysearch/Ponysearch
[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>
This commit is contained in:
parent
27e5a7437a
commit
c5ccd50ffa
4 changed files with 137 additions and 117 deletions
|
@ -17,7 +17,6 @@ Engines & Settings
|
||||||
private-engines
|
private-engines
|
||||||
recoll
|
recoll
|
||||||
sql-engines
|
sql-engines
|
||||||
|
search-indexer-engines
|
||||||
command-line-engines
|
command-line-engines
|
||||||
searx.engines.xpath
|
searx.engines.xpath
|
||||||
|
|
||||||
|
|
||||||
|
|
136
docs/admin/engines/search-indexer-engines.rst
Normal file
136
docs/admin/engines/search-indexer-engines.rst
Normal file
|
@ -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/>`_.
|
|
@ -7,4 +7,3 @@ Blog
|
||||||
:caption: Contents
|
:caption: Contents
|
||||||
|
|
||||||
lxcdev-202006
|
lxcdev-202006
|
||||||
search-indexer-engines
|
|
||||||
|
|
|
@ -1,114 +0,0 @@
|
||||||
===============================
|
|
||||||
Query your local search engines
|
|
||||||
===============================
|
|
||||||
|
|
||||||
From now on, searx lets you to query your locally running search engines. The following
|
|
||||||
ones are supported now:
|
|
||||||
|
|
||||||
* `Elasticsearch`_
|
|
||||||
* `Meilisearch`_
|
|
||||||
* `Solr`_
|
|
||||||
|
|
||||||
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 the `blog post about
|
|
||||||
private engines`_.
|
|
||||||
|
|
||||||
Configuring searx for search engines
|
|
||||||
====================================
|
|
||||||
|
|
||||||
Each search engine is powerful, capable of full-text search.
|
|
||||||
|
|
||||||
Elasticsearch
|
|
||||||
-------------
|
|
||||||
|
|
||||||
Elasticsearch supports numerous ways to query the data it is storing. At the moment
|
|
||||||
the engine supports the most popular search methods: ``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
|
|
||||||
searx has 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
|
|
||||||
enable_http : True
|
|
||||||
|
|
||||||
|
|
||||||
Meilisearch
|
|
||||||
-----------
|
|
||||||
|
|
||||||
This search engine 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.
|
|
||||||
Futhermore, 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
|
|
||||||
|
|
||||||
|
|
||||||
Solr
|
|
||||||
----
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
Next steps
|
|
||||||
==========
|
|
||||||
|
|
||||||
The next step is to add support for various SQL databases.
|
|
||||||
|
|
||||||
Acknowledgement
|
|
||||||
===============
|
|
||||||
|
|
||||||
This development was sponsored by `Search and Discovery Fund`_ of `NLnet Foundation`_ .
|
|
||||||
|
|
||||||
.. _blog post about private engines: private-engines.html#private-engines
|
|
||||||
.. _Elasticsearch: https://www.elastic.co/elasticsearch/
|
|
||||||
.. _Meilisearch: https://www.meilisearch.com/
|
|
||||||
.. _Solr: https://solr.apache.org/
|
|
||||||
.. _Search and Discovery Fund: https://nlnet.nl/discovery
|
|
||||||
.. _NLnet Foundation: https://nlnet.nl/
|
|
||||||
|
|
||||||
|
|
||||||
| Happy hacking.
|
|
||||||
| kvch // 2021.04.07 23:16
|
|
||||||
|
|
Loading…
Reference in a new issue