Как создать модель python django для elasticsearch с помощью базовой библиотеки

В моем представлении я запрашиваю базу данных elasticsearch, но это не очень хорошая практика. Я хочу следовать паттерну mvc, поэтому как создать модель на python django для elasticsearch?

Я использую простую базовую библиотеку elasticsearch. Пожалуйста, направьте меня.

controller-view view_home.py

from django.shortcuts import render, redirect
from django.conf import settings
from pygiustizia.models.model_users import Users
from pygiustizia.models.model_docfields import *
import logging
import json
from elasticsearch import Elasticsearch
from django.http import JsonResponse
from django.template.loader import render_to_string

def show_results(request):
    print('####### show_results ########')
    ELASTICSEARCH_URL = getattr(settings, 'ELASTICSEARCH_URL', 'localhost:9200')
    ELASTICSEARCH_INDEX = getattr(settings, 'ELASTICSEARCH_INDEX', 'civile')

    print(ELASTICSEARCH_INDEX)

    esSearchPageClient = Elasticsearch([ELASTICSEARCH_URL])
    size = 2
    fromSize = 0

    bodyPageAllDoc={
        "size": size,
        "from": fromSize,
        "query": { "match": { "distretto": "MI"} },
        "_source": ["text"],
        "sort": [{"_id": "asc"}]
    }
    
    resPage = esSearchPageClient.search(index=ELASTICSEARCH_INDEX, body=bodyPageAllDoc)
    #print(resPage)
    
    html = render_to_string('pygiustizia/home/process_show_results.html')
    return JsonResponse({'cat':1,'html':html})
Вернуться на верх