Как использовать индекс в поисковом API вasticsearch-dsl (5.4.0) - PullRequest
0 голосов
/ 04 сентября 2018

Я использую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 поиска без каких-либо аргументов?

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете оставить это без каких-либо аргументов, поскольку это будет сделано автоматически.

Надеюсь, это поможет!

...