openlibraryenvironment/gokb

ES-API: offset = 10000 sorgt für 400er

Closed this issue · 5 comments

Folgende Abfrage auf den ES-Find-API sorgt für 400: /gokb/api/find?status=Current&componentType=Package&offset=10000&max=1000
Gleiches Ergebnis ist auch, wenn offset entfällt, dafür aber max auf 10001 gesetzt wird.

Low Prio gemäß @croqueGrec09

@croqueGrec09 Der Fehler geht in beiden Fällen auf die folgende Programm-interne Exception zurück, die von Elasticsearch generiert wird:
"Result window is too large, from + size must be less than or equal to: [10000] but was [11000]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting.",
wie Du ja schon in #380 kommentiert hast.

Ich schlage daher vor, dass ich mit Wiederaufnahme der Arbeit direkt die Scroll-API angehe, die dann #380 und #379 lösen wird.

Ist ggf. durch 10bcdf6 gefixt, d. h. hier sollte statt des find-Endpunkts der Scroll-Endpunkt benutzt werden.

Kommt auf den jeweiligen Anwendungsfall an. In meinem Fall hat sich das in der Tat durch Einführen des scroll-Endpunktes erledigt. Es kann jedoch sein, dass jemand einen Eintrag jenseits der 10000 gezielt sucht. Dies sollte dann aber in diesem Fall geprüft und eine Umstellung geprüft werden.

Es kann jedoch sein, dass jemand einen Eintrag jenseits der 10000 gezielt sucht. Dies sollte dann aber in diesem Fall geprüft und eine Umstellung geprüft werden.

Wir könnten für diesen Fall das Feedback von Elasticsearch an die anfragende Stelle zurück geben. Dann gibt es immerhin eine verwertbare Information. Was meinst Du, @darupp ?