~/talk

Genesis and Use of the New Java Client for Elasticsearch

TalkinFrenchat Devoxx France 2022 · 2022-04-20..04-22· [java, databases]
slides:none on file

A new Java client for Elasticsearch released in October 2021 was designed to be lighter, faster and mostly generated from a formal model: the team modeled the ~400 API endpoints and ~2000 data types using TypeScript types compiled into a generation model instead of OpenAPI. The talk explains the development workflow for that generated library and demonstrates using fluent functional builders and tagged unions in Java to provide a DSL-like, IDE-autocomplete-driven experience for navigating large, polymorphic tree structures with many variants.

AI-written summary · about

  1. 0:00Intro
  2. 1:40The Elasticsearch API in numbers
  3. 2:48Architecture of existing Java clients
  4. 4:10Problems with the High Level Rest Client
  5. 8:37Architecture of the new Java client
  6. 24:06Polymorphic types
  7. 26:55ReST API specification Open API?
  8. 28:27JSON API specification TypeScript!
  9. 29:49Example: search request
  10. 31:46Example: search response
  11. 32:48Example: query
  12. 34:35Validating the specification
  13. 37:50Code generation pipelines
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.