This commit is contained in:
parent
8de765ed50
commit
c8acf6a9ac
|
@ -96,21 +96,22 @@ class SearchService:
|
||||||
|
|
||||||
async def check_index(self):
|
async def check_index(self):
|
||||||
if self.client:
|
if self.client:
|
||||||
|
logger.debug(f' Проверяем индекс {self.index_name}...')
|
||||||
if not self.client.indices.exists(index=self.index_name):
|
if not self.client.indices.exists(index=self.index_name):
|
||||||
logger.debug(f' Новый индекс {self.index_name}')
|
|
||||||
self.create_index()
|
self.create_index()
|
||||||
self.client.indices.put_mapping(
|
self.client.indices.put_mapping(
|
||||||
index=self.index_name, body=expected_mapping
|
index=self.index_name, body=expected_mapping
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
logger.debug(f' Существующий индекс {self.index_name}')
|
logger.debug(f' найден существующий индекс {self.index_name}')
|
||||||
# Check if the mapping is correct, and recreate the index if needed
|
# Check if the mapping is correct, and recreate the index if needed
|
||||||
mapping = self.client.indices.get_mapping(index=self.index_name)
|
mapping = self.client.indices.get_mapping(index=self.index_name)
|
||||||
|
logger.debug(f' найдена структура индексации: {mapping}')
|
||||||
if mapping != expected_mapping:
|
if mapping != expected_mapping:
|
||||||
|
logger.warn(' требуется другая структура индексации: пересоздаём')
|
||||||
await self.recreate_index()
|
await self.recreate_index()
|
||||||
|
|
||||||
async def recreate_index(self):
|
async def recreate_index(self):
|
||||||
logger.debug(' Пересоздание индексов...')
|
|
||||||
async with asyncio.Lock():
|
async with asyncio.Lock():
|
||||||
self.delete_index()
|
self.delete_index()
|
||||||
await self.check_index()
|
await self.check_index()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user