gpt4 book ai didi

python - 使用elasticsearch_dsl(Python)时如何指定文档类型?同样,如何指定几个索引?

转载 作者:太空狗 更新时间:2023-10-30 00:49:07 25 4
gpt4 key购买 nike

我想创建这个例子

GET /my_store/products/_search
{
"query" : {
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"term" : {
"price" : 20
}
}
}
}
}

使用 Python 的 elasticsearch_dsl。

import elasticsearch as ES
import elasticsearch_dsl as dsl
from elasticsearch_dsl import Search

client = ES.Elasticsearch() # i'm using the localhost default client
s = Search(using = client, index = "my_store")

好的,这指定了主机、端口和索引。

s = s.filter("term", price = 20)
results = s.execute().to_dict()

但是如何指定文档类型是“products”呢?似乎 Search() 函数中应该有一个参数。

类似的问题,假设我想运行相同的查询,但我希望它运行索引“my_store”和“her_store”。我该如何指定?

最佳答案

你可以这样使用。

s = Search(using=client, index=('my_report', 'my_store'), doc_type=('products'))

索引参数采用listtuplestring类型。

在搜索构造函数中可以看到

if isinstance(index, (tuple, list)):
self._index = list(index)
elif index:
self._index = [index]

关于python - 使用elasticsearch_dsl(Python)时如何指定文档类型?同样,如何指定几个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com