Django Elastic serach удаляет некоторые документы при указании нескольких документов на один и тот же индекс
У меня есть django приложение, где я использую django_elasticsearch_dsl для индексирования документов, чтобы позже сделать с ними эластичный поиск. У меня есть две похожие модели в базе данных, поэтому я хочу, чтобы документы указывали на один и тот же индекс в эластичном поиске, чтобы позже я мог выполнить поиск по обоим документам, как будто они одинаковые.
Прямо сейчас моя установка выглядит следующим образом
@registry.register_document
class HelpCenterDocument(Document):
title = TextField()
url = ESTextField('get_absolute_url')
site_id = ESIntegerField('site_id')
class Index:
name = 'help-center-index'
class Django:
model = HelpCenterPage
fields = ['title', 'content']
@registry.register_document
class PageDocument(Document):
title = TextField()
url = TextField('get_public_url')
class Index:
name = 'global-search-page-index'
class Django:
model = Page
Когда я делаю manage.py search_index --rebuild, он говорит, что создал Индексирование 90 объектов 'HelpCenterPage' Индексирование 213 объектов 'Page'
Так что с этим мой индекс должен содержать 303 документа, но это не так, когда я смотрю на подсчет, он показывает, что у меня есть
"docs": {
"count": 239,
"deleted": 64
},
Если я закомментирую один из @registry.register_document, счетчик будет в порядке, но если я оставлю оба без комментариев, он будет индексировать только некоторые из них
Вот статистика индекса