【问题标题】:How to use index in search API in elasticsearch-dsl(5.4.0)如何在 elasticsearch-dsl(5.4.0) 的搜索 API 中使用索引
【发布时间】:2019-02-09 01:01:14
【问题描述】:

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

/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'))

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

【问题讨论】:

    标签: elasticsearch elasticsearch-dsl


    【解决方案1】:

    你可以不加任何参数,因为它会自动完成。

    希望这会有所帮助!

    【讨论】:

    • 非常感谢您的帮助,尤其是来自组织成员的帮助。我是一名专门从事 Flask 领域的 Python 开发人员。中国的开源环境正在成长,但仍处于婴儿期。我真的希望能为开源社区做出一些贡献。你的反应真的激发了我的热情。把我抱起来!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2018-05-29
    • 2020-03-10
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多