Skip to content

Exporting ElasticSearch indexes

wbzyl edited this page Jan 22, 2012 · 1 revision

TODO: Przepisać na Ruby lub Basha.

Eksport do formatu JSON – oczywiście

Skorzystamy ze scroll i scan (linki do dokumentacji, poniżej). Przykład:

curl -XGET 'localhost:9200/nosql_tweets/mongodb/_search?search_type=scan&scroll=10m&size=2&pretty=true' -d '
{
   "query" : {
     "match_all" : {}
   }
}'

Wynik wykonania tego polecenia, to przykładowo:

{
  "_scroll_id" : "c2NhbjsxOzcwOnpqZS1ZaS1oVHhDcWY5Z2FfRjJSbUE7MTt0b3RhbF9oaXRzOjY2Ow==",
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
   "total" : 1,
   "successful" : 1,
   "failed" : 0
},
   "hits" : {
   "total" : 66,
   "max_score" : 0.0,
   "hits" : [ ]
}

Teraz wykonujemy wielokrotnie:

curl -XGET 'localhost:9200/_search/scroll?scroll=10m&pretty=true' \
  -d 'c2NhbjsxOzcwOnpqZS1ZaS1oVHhDcWY5Z2FfRjJSbUE7MTt0b3RhbF9oaXRzOjY2Ow=='

Ile razy? Łatwo to policzyć po wykonaniu polecenia:

curl -XGET 'localhost:9200/nosql_tweets/mongodb/_count'

Wynik:

{
  "count" : 66,
  "_shards" : {"total" : 1, "successful" : 1, "failed" : 0 }
}

Zobacz search API:

Clone this wiki locally