documents.py
Код: Выделить всё
from elasticsearch_dsl.connections import connections
from elasticsearch_dsl import Document, Text
connections.create_connection(hosts=['http://elasticsearch:9200'])
class FilmWorkDocument(Document):
title = Text()
description = Text()
class Index:
name = 'film'
FilmWorkDocument.init()
first = FilmWorkDocument(title='Example1', description='Example description')
first.meta.id = 47
first.save()
Код: Выделить всё
elasticsearch:
image: elasticsearch:8.13.0
container_name: elasticsearch
environment:
- "ES_JAVA_OPTS=-Xms200m -Xmx200m"
- discovery.type=single-node
- xpack.security.enabled=false
ports:
- 9200:9200
Код: Выделить всё
{
"name" : "eeb958274241",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "wUQjIKoLTNGKtFH7A1tzSw",
"version" : {
"number" : "8.13.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "09df99393193b2c53d92899662a8b8b3c55b45cd",
"build_date" : "2024-03-22T03:35:46.757803203Z",
"build_snapshot" : false,
"lucene_version" : "9.10.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
Код: Выделить всё
{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [film]","resource.type":"index_or_alias","resource.id":"film","index_uuid":"_na_","index":"film"}],"type":"index_not_found_exception","reason":"no such index [film]","resource.type":"index_or_alias","resource.id":"film","index_uuid":"_na_","index":"film"},"status":404}
- Как создать и заполнить индекс (особенно если в базе данных много данных, и я собираюсь массово их индексировать)?
- Хороший ли подход использовать elasticsearch-dsl вместо django-elasticsearch-dsl в проекте Django?
Подробнее здесь: https://stackoverflow.com/questions/784 ... sticsearch