如何在elasticsearch-dsl(5.4.0)中使用搜索API中的索引

问题描述 投票:0回答:1

我正在使用elasticsearch-dsl(5.4.0)和elasticsearch(5.5.3)。我在模型层文件中使用名为Meta class的内部类定义了EsTask类,如下所示:

/task_models.朋友

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.朋友

s = EsTask.search().filter('bool', must_not=elasticsearch_dsl.Q('exists', field='deleted_at'))

如果我想确保搜索API使用我在上面的Meta Class中定义的索引,我可以使用关键字参数调用search(),如search(index ='task_es',doc_type ='main')。或者这是必然的,我可以在没有任何参数的情况下离开搜索API?

elasticsearch elasticsearch-dsl
1个回答
0
投票

您可以不加任何参数保留它,因为它会自动执行。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.