Idr*_*sou 3 api rest elasticsearch
如何在不确定查询中的大小的情况下从 elasticsearch 中的索引中获取所有文档,例如
GET http://localhost:8090/my_index/_search?size=1000&scroll=1m&pretty=true'-d '{"size": 0,"query":{"query_string":{ "match_all" : {}}}}
Run Code Online (Sandbox Code Playgroud)
谢谢
根据 ES扫描查询文档,size
参数不仅仅是结果数:
size 参数允许您配置每批结果返回的最大命中数。每次调用 scroll API 都会返回下一批结果,直到没有更多结果要返回为止,即 hits 数组为空。
要检索所有结果,您需要按照上述文档中描述的方式对 API 进行后续调用,或者使用一些现成的实现,例如在python 中。这是一个在标准输出上转储生成的 json 的示例脚本:
import elasticsearch
from elasticsearch.helpers import scan
import json
es = elasticsearch.Elasticsearch('https://localhost:8090')
es_response = scan(
es,
index='my_index',
doc_type='my_doc_type',
query={"query": { "match_all" : {}}}
)
for item in es_response:
print(json.dumps(item))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12458 次 |
最近记录: |