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, счетчик будет в порядке, но если я оставлю оба без комментариев, он будет индексировать только некоторые из них

Вот статистика индекса

Вернуться на верх