一尘不染

Elasticsearch查询返回所有记录

elasticsearch

我在Elasticsearch中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用以下形式的网址…

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

有人可以给我您用来完成此操作的URL吗?


阅读 1083

收藏
2020-06-22

共1个答案

一尘不染

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

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

大小默认为10,因此您可能还需要&size=BIGNUMBER获取10个以上的商品。(其中BIGNUMBER等于您认为大于数据集的数字)

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

例如:

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

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

编辑:scan2.1.0中已弃用。

scanscroll按排序的常规请求相比没有任何好处_doc链接到弹性文档(由@ christophe-roussy发现)

2020-06-22