我在Elasticsearch中有一个小数据库,出于测试目的,我想把所有记录拉回来。我正在尝试使用表单的URL…
http://localhost:9200/foo/_search?pretty=true&q={'matchAll':{''}}
有人能给我你要用来完成这个的URL吗?
我在Elasticsearch中有一个小数据库,出于测试目的,我想把所有记录拉回来。我正在尝试使用表单的URL…
http://localhost:9200/foo/_search?pretty=true&q={'matchAll':{''}}
有人能给我你要用来完成这个的URL吗?
当前回答
官方文档提供了这个问题的答案!你可以在这里找到它。
{
"query": { "match_all": {} },
"size": 1
}
您只需将size(1)替换为您想要看到的结果的数量!
其他回答
要从所有索引中返回所有记录,您可以执行:
curl -XGET http://35.195.120.21:9200/_all/_search?size=50&pretty
输出:
"took" : 866,
"timed_out" : false,
"_shards" : {
"total" : 25,
"successful" : 25,
"failed" : 0
},
"hits" : {
"total" : 512034694,
"max_score" : 1.0,
"hits" : [ {
"_index" : "grafana-dash",
"_type" : "dashboard",
"_id" : "test",
"_score" : 1.0,
...
简单!你可以使用size和from参数!
http://localhost:9200/[your index name]/_search?size=1000&from=0
然后逐渐改变,直到你得到所有的数据。
默认情况下Elasticsearch返回10条记录,因此应该显式提供大小。
添加大小与请求,以获得所需的记录数量。
http://{host}:9200/{index_name}/_search?pretty=true&size=(number的记录)
注意: 最大页面大小不能超过索引。Max_result_window索引设置,默认值为10,000。
这是完成你想要的查询, (我建议使用Kibana,因为它有助于更好地理解查询)
GET my_index_name/my_type_name/_search
{
"query":{
"match_all":{}
},
size : 20,
from : 3
}
要获得所有的记录,你必须使用“match_all”查询。
Size是你想要获取的记录的数目(一种限制)。 默认情况下,ES只返回10条记录
从就像跳过,跳过前3个记录。
如果您想获取所有的记录,只需使用“total”字段的值 一旦你从Kibana命中这个查询的结果,并使用“大小”。
http://localhost:9200/foo/_search/?size=1000&pretty=1
您需要指定大小查询参数,因为默认值是10