Как индексировать url изображений в elasticsearch с помощью django

Я пытаюсь проиндексировать url изображения в elasticsearch, но продолжаю терпеть неудачу.

И я получаю photo_main = null в моих ответах на поиск.

у кого-нибудь есть идея, как это должно быть сделано?

Ниже приведен мой соответствующий код, я обобщил его, насколько это возможно.

спасибо заранее

model.py

class Recipe(models.Model):
    id = models.UUIDField( 
        primary_key=True,
        default=uuid.uuid4,
        editable=False,
    )
    photo_main = models.ImageField(upload_to='media/', blank=True)
    title = models.CharField(max_length=150)
    instructions_text_list = ArrayField(models.CharField(max_length=100,),default=list, size=15,)
    ingredients_text_list = ArrayField(models.CharField(max_length=100,),default=list, size=15,)

    def get_absolute_url(self):
        """Return absolute URL to the Recipe Detail page."""
        return reverse('recipes:detail', kwargs={"pk": self.id})

    def __str__(self):
        return self.title

documents.py

from django_elasticsearch_dsl import Document, fields
from django_elasticsearch_dsl.registries import registry
from elasticsearch_dsl import analyzer, tokenizer

from .models import Recipe

autocomplete_analyzer = analyzer('autocomplete_analyzer',
                        tokenizer=tokenizer('trigram', 'edge_ngram', min_gram=1, max_gram=20),
                        filter=['lowercase']
                        )

@registry.register_document
class RecipeDocument(Document):
    title = fields.TextField(required=True, analyzer=autocomplete_analyzer)
    ingredients_text_list = fields.ListField(fields.TextField())
    instructions_text_list = fields.ListField(fields.TextField())
    photo_main = fields.FileField()
    class Index:
        name = 'recipes'
        settings = {
        'number_of_shards': 1,
        'number_of_replicas': 0,
        'max_ngram_diff': 20
        }

    class Django:
        model = Recipe
        fields = [
            'id',
        ]
Вернуться на верх