- В файле настроек моего проекта Django (), я настроил параметры подключения Elasticsearch.
Код: Выделить всё
settings.py
Код: Выделить всё
ELASTICSEARCH_DSL = {
'default': {
'hosts': ["http://localhost:9200"],
},
}
- Создал файл с именем document.py в своем приложении Django. В этом файле я определил документы Elasticsearch, соответствующие моим моделям Django.
Код: Выделить всё
from django_elasticsearch_dsl import Document
from django_elasticsearch_dsl.registries import registry
from .models import Filmwork
@registry.register_document
class FilmWorkDocument(Document):
class Index:
name = 'film'
settings = {'number_of_shards': 1, 'number_of_replicas': 0}
class Django:
model = Filmwork
fields = ['title', 'description']
- Поэтому я проиндексировал данные из моей модели Django в Elasticsearch с помощью команды python3 Manage.py search_index --rebuild. Я использовал эту команду вне докера, она показала:
Код: Выделить всё
File "/Users/ArtemBoss/Desktop/artem_yandex_repo/venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not translate host name "database" to address: nodename nor servname provided, or not known
Код: Выделить всё
File "/usr/local/lib/python3.10/site-packages/elastic_transport/_node/_http_urllib3.py", line 202, in perform_request
raise err from None
elastic_transport.ConnectionError: Connection error caused by: ConnectionError(Connection error caused by: NewConnectionError(: Failed to establish a new connection: [Errno 111] Connection refused))
Код: Выделить всё
{"film":{"aliases":{},"mappings":{"properties":{"description":{"type":"text"},"title":{"type":"text"}}},"settings":{"index":{"routing":{"allocation":{"include":{"_tier_preference":"data_content"}}},"number_of_shards":"1","provided_name":"film","creation_date":"1714573697677","number_of_replicas":"0","uuid":"wtFsSoZUSXC73s5ScCbc2w","version":{"created":"8503000"}}}}}
Подробнее здесь: https://stackoverflow.com/questions/784 ... w-any-hits