¿Cómo se puede cambiar el motor de búsqueda?

Tabla de contenidos

En el fichero local_settings.py se puede usar la siguiente configuración para usar el motor de búsqueda ElasticSearch:

SEARCH_ENGINE = 'elasticsearch'

Para el uso de ElasticSearch, adicionalmente, serán necesarias las siguientes propiedades:

 

ES_INDEX_ENABLED = True
ES_HOST = '192.168.0.1'
ES_HOST_N1 = '192.168.0.1'
ES_HOST_N2 = '192.168.0.2'
ES_HOST_N3 = '192.168.0.3'
ES_PORT = '9200'
ES_USERNAME = 'USER'
ES_PASSW = 'PASS'
ELASTICSEARCH_DSL_AUTO_REFRESH = False
ELASTICSEARCH_DSL_PARALLEL = True
ELASTICSEARCH_DSL_SIGNAL_PROCESSOR = 'elastic_search.signals.RealTimeSignalProcessor'

ELASTICSEARCH_DSL = {
'default': {
'hosts': ['{host}:{port}'.format(host=ES_HOST_N1, port=ES_PORT),
'{host}:{port}'.format(host=ES_HOST_N2, port=ES_PORT),
'{host}:{port}'.format(host=ES_HOST_N3, port=ES_PORT),
],
'http_auth': (ES_USERNAME, ES_PASSW),
'sniffer_timeout': 60,
'sniff_timeout': 30,
'sniff_on_connection_fail': True,
'max_retries': 3,
'retry_on_timeout': True,
},
}

 

Para usar PostgreSQL debe usarse:

SEARCH_ENGINE = 'postgres'

además, si previamente se estaba usando ElasticSearch, debe desactivarse usando:

ES_INDEX_ENABLED = False