This commit is contained in:
parent
f38ee9239f
commit
4a6863c474
|
@ -45,7 +45,7 @@ poetry run main.py
|
||||||
|
|
||||||
### search.py
|
### search.py
|
||||||
|
|
||||||
Позволяет получать результаты пользовательских поисковых запросов в кешируемом виде от ElasticSearch с оценкой `score`, объединенные с запросами к базе данных, запрашиваем через GraphQL API `load_shouts_search`. Требует установка `ELASTIC_URL` (можно отдельными компонентами) и, опционально, обновляет индекс на старте если переменная `ELASTIC_REINDEX` задана.
|
Позволяет получать результаты пользовательских поисковых запросов в кешируемом виде от ElasticSearch с оценкой `score`, объединенные с запросами к базе данных, запрашиваем через GraphQL API `load_shouts_search`. Требует установка `ELASTIC_URL` (можно отдельными компонентами).
|
||||||
|
|
||||||
### notify.py
|
### notify.py
|
||||||
|
|
||||||
|
|
|
@ -40,10 +40,8 @@ class SearchService:
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.error(exc)
|
logger.error(exc)
|
||||||
self.disabled = True
|
self.disabled = True
|
||||||
self.check_index()
|
|
||||||
|
|
||||||
if ELASTIC_REINDEX:
|
self.check_index()
|
||||||
self.recreate_index()
|
|
||||||
|
|
||||||
def info(self):
|
def info(self):
|
||||||
logging.info(f'{self.client}')
|
logging.info(f'{self.client}')
|
||||||
|
@ -108,6 +106,19 @@ class SearchService:
|
||||||
logger.debug(f'Creating {self.index_name} index')
|
logger.debug(f'Creating {self.index_name} index')
|
||||||
self.create_index()
|
self.create_index()
|
||||||
self.put_mapping()
|
self.put_mapping()
|
||||||
|
else:
|
||||||
|
# Check if the mapping is correct, and recreate the index if needed
|
||||||
|
mapping = self.client.indices.get_mapping(index=self.index_name)
|
||||||
|
expected_mapping = {
|
||||||
|
'properties': {
|
||||||
|
'body': {'type': 'text', 'analyzer': 'ru'},
|
||||||
|
'text': {'type': 'text'},
|
||||||
|
'author': {'type': 'text'},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if mapping != expected_mapping:
|
||||||
|
logger.debug(f'Recreating {self.index_name} index due to incorrect mapping')
|
||||||
|
self.recreate_index()
|
||||||
|
|
||||||
def recreate_index(self):
|
def recreate_index(self):
|
||||||
self.delete_index()
|
self.delete_index()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user