2014-05-24 9 views

Odpowiedz

7

Myślę, że dobrym miejscem do rozpoczęcia jest z zapytaniami skanowania za pomocą interfejsu API przewijania:

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html

zasadzie jest podobny do kursora z bazą danych - po otwarciu zapytanie o terminie i zwróci identyfikator przewijania. Następnie użyj tego identyfikatora przewijania, aby pobrać pierwszą partię wyników, a następnie zwróci dokumenty wraz z nowym identyfikatorem przewijania. Poniższe przykłady:

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

ta zwróci _scroll_id które następnie użyć, aby odzyskać dokumenty:

curl -XGET 'localhost:9200/_search/scroll?scroll=10m' -d '<_SCROLL_ID_HERE>' 

Zauważ, że ten powróci 1000 dokumentów na PRIMARY Shard - więc jeśli masz 4 podstawowych odłamki to będzie zwróć 4000 dokumentów. Każde wywołanie oprócz dokumentów zwróci nowy _croll_id, który następnie użyjesz do następnego połączenia. "Przewijanie = 10 m" ustawia limit czasu wynoszący 10 m, aby utrzymać przewijanie otwarte między połączeniami.

Powiązane problemy