如何在 elasticsearch-dsl(5.4.0) 的 search API 中使用索引
How to use index in search API in elasticsearch-dsl(5.4.0)
我正在使用 elasticsearch-dsl(5.4.0) 和 elasticsearch(5.5.3)。我在模型层文件中定义了 EsTask class 和一个名为 Meta class 的内部 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'))
如果我想确保搜索 API 使用我在 Meta Class 上面定义的索引?或者那是必然的,我可以不带任何参数地离开搜索 API?
您可以不带任何参数,因为它会自动完成。
希望对您有所帮助!
我正在使用 elasticsearch-dsl(5.4.0) 和 elasticsearch(5.5.3)。我在模型层文件中定义了 EsTask class 和一个名为 Meta class 的内部 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'))
如果我想确保搜索 API 使用我在 Meta Class 上面定义的索引?或者那是必然的,我可以不带任何参数地离开搜索 API?
您可以不带任何参数,因为它会自动完成。
希望对您有所帮助!