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>
3.9 KiB
Local Search Engines
further read
Administrators might find themselves wanting to integrate locally running search engines. The following ones are supported for now:
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 private engines
.
MeiliSearch
info
meilisearch.py <searx/engines/meilisearch.py>
- MeiliSearch
- MeiliSearch Documentation
- Install MeiliSearch
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:
- name: meilisearch
engine: meilisearch
shortcut: mes
base_url: http://localhost:7700
index: my-index
enable_http: true
Elasticsearch
info
elasticsearch.py <searx/engines/elasticsearch.py>
- Elasticsearch
- Elasticsearch Guide
- Install Elasticsearch
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
andterms
.
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.
- 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
Solr
info
solr.py <searx/engines/solr.py>
- Solr
- Solr Resources
- Install 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.
- 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 of NLnet Foundation.