У меня есть данные в базе данныхasticsearch, и я хочу показать эти данные, используя Django framework. Я могу добавлять и удалять документы вручную, но не могу синхронизировать c существующие данные.
Я следовал этому руководству: https://django-elasticsearch-dsl-drf.readthedocs.io/en/latest/quick_start.html#syncing - django -s-database-with -asticsearch- индексы , но все еще не могу увидеть существующие данные, которые у меня есть наasticsearch
Я пытаюсь синхронизировать c один индекс с именем "dnmavengerss"
, это мой скрипт models.py :
from django.db import models
from six import python_2_unicode_compatible
class Avatar(models.Model):
avatar_name = models.CharField(max_length=256)
avatar_pass = models.CharField(max_length=256)
avatar_user = models.CharField(max_length=256)
avatar_email = models.CharField(max_length=48)
class Comments(models.Model):
joined_date = models.CharField(max_length=12)
comment_date = models.CharField(max_length=12)
comment_body = models.TextField()
user_link = models.CharField(max_length=256)
post_count = models.CharField(max_length=8)
user_name = models.CharField(max_length=256)
@python_2_unicode_compatible
class Dnmavengers(models.Model):
crawl_date = models.CharField(max_length=12)
views = models.CharField(max_length=8)
replies = models.CharField(max_length=8)
title = models.CharField(max_length=256)
comments = models.ForeignKey('Comments', related_name='all_comments')
link = models.CharField(max_length=256)
forum_title = models.CharField(max_length=256)
avatar_details = models.ForeignKey('Avatar')
class Meta(object):
"""Meta options."""
ordering = ["id"]
это мой скрипт documents.py:
from django_elasticsearch_dsl import Document, fields, Index
from elasticsearch_dsl import analyzer
from .models import Dnmavengers
INDEX = Index('dnmavengerss')
# See Elasticsearch Indices API reference for available settings
INDEX.settings(
number_of_shards=1,
number_of_replicas=1
)
html_strip = analyzer(
'html_strip',
tokenizer="standard",
filter=["standard", "lowercase", "stop", "snowball"],
char_filter=["html_strip"]
)
# @registry.register_document
@INDEX.doc_type
class DnmavengersDocument(Document):
"""Dnmavengers Elasticsearch document."""
id = fields.IntegerField(attr='id')
crawl_date = fields.TextField()
views = fields.TextField()
replies = fields.TextField()
title = fields.TextField()
all_comments = fields.NestedField(properties={
'joined_date': fields.TextField(),
'comment_date': fields.TextField(),
'comment_body': fields.TextField(analyzer=html_strip),
'user_link': fields.TextField(),
'post_count': fields.TextField(),
'user_name': fields.TextField(),
})
link = fields.TextField()
forum_title = fields.TextField()
avatar_details = fields.ObjectField(properties={
'avatar_name': fields.TextField(),
'avatar_pass': fields.TextField(),
'avatar_user': fields.TextField(),
'avatar_email': fields.TextField(),
})
class Django(object):
"""Inner nested class Django."""
model = Dnmavengers # The model associate with this Document