Тип документа для моего индекса в Elasticsearch 6 - _doc
, , как рекомендуется .Однако уasticsearch-dsl-py тип документа по умолчанию doc
(отсутствует подчеркивание). Это известная, не устраняемая проблема.
У меня есть тип документа, который, я полагаю, я определил, как описано в документации:
class MyDoc(Document):
class Meta:
doc_type = "_doc"
class Index:
name = "myindex"
doc_type = "_doc"
Документы для Index указывают:
doc_type
имя _type в эластичном поиске.Обратите внимание, что вы должны определить это, а также doc_type в классе Meta, чтобы он вступил в силу.
Это похоже на работу для get, но при использовании поиска попадания не возвращаются как MyDoc;они возвращаются как Hit:
doc = MyDoc.get(id=id) # doc is a MyDoc
response = MyDoc.search().query(...).execute() # MyDoc results are not deserialized
MyDoc.Index.doc_type
возвращает '_doc', как и ожидалось, но MyDoc._index._get_doc_type()
возвращает вместо 'doc'.
Как настроить подклассы Document так, чтобыу них есть рекомендуемый _doc
тип документа?