- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想创建这个例子
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'))
索引参数采用list
、tuple
、string
类型。
在搜索构造函数中可以看到
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/
我有一个查询 GET index/_search { "query": { "bool": { "should": [ { "match":
我使用了 elasticsearch-dsl==5.2.0、elasticsearch==5.3.0 和 Django==1.8.15。 Django 模型: class Item(models.Mo
class Article(Document): title = Text(analyzer='snowball', fields={'raw': Keyword()}) body =
我正在尝试将我的 Django 模型连接到本地主机上的 Elasticsearch 服务器,但是当我尝试时 from elasticsearch_dsl.connections import conn
我想生成这个: GET /packets-2017-09-25/_search { "size": 0, "query": { "match": { "
我在 Django 应用程序中使用 Elasticsearch 进行全文搜索。我正在使用 pypi 中的 elastic_dsl 库与集群交互。我正在尝试在分析器中实现瓦状过滤器。我相信我已经让它使用
我正在使用 elasticsearch_dsl 来帮助与 elasticsearch 进行交互,这是我目前拥有的模型,我正在尝试将其重新创建为 DocType: class HouseIndex(Do
我在 Windows 10 Ubuntu 中成功安装了 elasticsearch_dsl 模块,但在 Python3 中找不到该模块。任何人都可以阐明问题可能是什么? 当我在 Anaconda 中运
我是一名优秀的程序员,十分优秀!