Problem:pobierania więcej niż 10000 wyników w elastycznego wyszukiwania poprzez wyszukiwanie w zapytaniu GET/wyszukiwaniaELK: Jak mogę odzyskać więcej niż 10000 wyników/wydarzenia w Elastic-search
GET hostname:port /myIndex/_search {
"size": 10000,
"query" : {
"term" : { "field" : "myField" }
}}
mam był przy użyciu opcji rozmiar wiedząc, że
index.max_result_window = 100000
Ale jeśli moje zapytanie zwróci 650000 na przykład lub nawet więcej, jak mogę je odzyskać w tym samym GET.
Czytałem o interfejsie SCROLL, FROM-TO i PAGINATION, ale wszystkie z nich, gdy są stosowane, nigdy nie dostarczają więcej niż 10K.
To jest przykład pokazów na Forum Elasticsearch i używałem tego.
GET /_search?scroll=1m
Czy jest jakiś przykład, w którym można pobrać wszystkie dokumenty dla zapytania wyszukiwania GET?
Dziękuję bardzo.
Thanks val. Nie jestem pewien, czy mogę to zrobić z curl w php. O ile nie mogę parametryzować identyfikatora get scroll i wiedzieć z góry, ile dokumentów będę musiał pobrać. Widzisz, nie używam sensu ani nie kibana. Muszę użyć wykresu google, aby dokonać wcześniejszych agregacji i muszę wysłać zapytanie elastyczne, aby uzyskać dwa duże zbiory danych. Regex je i zapisz wynik w tablicach. Elastyczne api może być bardzo egzotyczne. Czy uważasz, że istnieje prostszy sposób na odzyskanie wszystkich danych? Czy można zwiększyć wartość maksymalną indeksu? Czy jest jakaś prostsza metoda używania identyfikatora przewijania? – HashGuy81
Możesz zdecydowanie [zwiększyć wartość 'index.max_result_window'] (https://www.elastic.co/guide/en/elasticsearch/reference/5.1/index-modules.html#dynamic-index-settings), ale Ty" Ryzykujesz upadkiem klastra, jeśli chcesz uzyskać 650000 dokumentów za jednym razem. – Val
Inną możliwością jest zapytanie ES z poziomu Google Script, dzięki czemu łatwiej jest zintegrować wyniki z wykresami Google. – Val