小编典典

Elasticsearch 查询返回所有记录

all

我在 Elasticsearch 中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用表单的 URL…

http://localhost:9200/foo/_search?pretty=true&q={'matchAll':{''}}

有人可以给我你用来完成此任务的 URL,好吗?


阅读 157

收藏
2022-03-08

共1个答案

小编典典

我认为 lucene 语法是这样支持的:

http://localhost:9200/foo/_search?pretty=true&q=*:*

size 默认为 10,因此您可能还需要&size=BIGNUMBER获取超过 10 个项目。(其中 BIGNUMBER 等于您认为大于数据集的数字)

但是,elasticsearch
文档建议使用扫描搜索类型来处理大型结果集。

例如:

curl -XGET 'localhost:9200/foo/_search?search_type=scan&scroll=10m&size=50' -d '
{
    "query" : {
        "match_all" : {}
    }
}'

然后按照上面建议的文档链接继续请求。

编辑:scan在 2.1.0 中已弃用。

scan``scroll与按.排序的常规请求相比,没有提供任何好处_doc指向弹性文档的链接

2022-03-08