Я используюasticsearch-dsl (5.4.0) иasticsearch (5.5.3). Я определил класс EsTask с внутренним классом с именем Meta class следующим образом в файле слоя модели:
/ task_models.py
class EsTask(DocType):
id = Keyword()
catagory_id = Integer()
name = Text(analyzer='ik_max_word', search_analyzer='ik_smart')
priority_level = Integer()
related_id = Keyword()
parent_id = Keyword()
creator_id = Keyword()
created_at = Date()
deleted_at = Date()
class Meta:
index = 'task_es'
doc_type = 'main'
Я вызываю API поиска в файле уровня контроллера:
/ task.py
s = EsTask.search().filter('bool', must_not=elasticsearch_dsl.Q('exists', field='deleted_at'))
Могу ли я использовать аргумент ключевого слова, вызывающий search (), например search (index = 'task_es', doc_type = 'main'), как ожидается, если я хочу убедиться, что API поиска использует индексы, которые я определил в Meta Class выше? Или это обязательно, и я могу просто оставить API поиска без каких-либо аргументов?