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

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

有人能给我你要用来完成这个的URL吗?


当前回答

Size参数将显示的命中数从默认值(10)增加到500。

http://localhost:9200/[indexName]/_search?pretty=true&size=500&q=*:*

将from逐步更改为获取所有数据。

http://localhost:9200/[indexName]/_search?size=500&from=0

其他回答

要从所有索引中返回所有记录,您可以执行:

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,
       ...

elasticsearch(ES)既支持GET请求,也支持POST请求,以便从ES集群索引中获取数据。

当我们执行GET操作时:

http://localhost:9200/[your index name]/_search?size=[no of records you want]&q=*:*

当我们做POST时:

http://localhost:9200/[your_index_name]/_search
{
  "size": [your value] //default 10
  "from": [your start index] //default 0
  "query":
   {
    "match_all": {}
   }
}   

我建议使用elasticsearch http://mobz.github.io/elasticsearch-head/的UI插件 这将帮助您更好地了解您创建的索引,并测试您的索引。

您可以使用size=0,这将返回您所有的文档 例子

curl -XGET 'localhost:9200/index/type/_search' -d '
{
   size:0,
   "query" : {
   "match_all" : {}
    }
}'

使用server:9200/_stats也可以获得所有别名的统计信息。就像每个别名的大小和元素数量一样,这非常有用,并提供了有用的信息

Size参数将显示的命中数从默认值(10)增加到500。

http://localhost:9200/[indexName]/_search?pretty=true&size=500&q=*:*

将from逐步更改为获取所有数据。

http://localhost:9200/[indexName]/_search?size=500&from=0