Skip to content
This repository has been archived by the owner on Jul 19, 2021. It is now read-only.

Latest commit

 

History

History
32 lines (25 loc) · 1.13 KB

README.md

File metadata and controls

32 lines (25 loc) · 1.13 KB

geonode-elasticsearch

This application serves as an interface to elasticsearch in geonode via elasticsearch-dsl. Additionally provides some management commands for an easier upgrade from django-haystack.

To use, add following to settings:

# elasticsearch-dsl settings
# Elasticsearch-dsl Backend Configuration. To enable,
# Set ES_SEARCH to True
# Run "python manage.py clear_haystack" (if upgrading from haystack)
# Run "python manage.py rebuild_index"
ES_SEARCH = strtobool(os.getenv('ES_SEARCH', 'False'))

if ES_SEARCH:
    INSTALLED_APPS = (
        'elasticsearch_app',
    ) + INSTALLED_APPS
    ES_URL = os.getenv('ES_URL', 'http://127.0.0.1:9200/')
    # Disable Haystack
    HAYSTACK_SEARCH = False
    # Avoid permissions prefiltering
    SKIP_PERMS_FILTER = False
    # Update facet counts from Haystack
    HAYSTACK_FACET_COUNTS = False

This app will provide a search api at /api//search/

search.py contains definitions for the elasticsearch indices as well as functions to convert django models into form to go into elasticsearch.

views.py contains all the logic for running the search and providing facets