~/talk

Algorithms & data-structures that power Lucene & ElasticSearch

Talkat Berlin Buzzwords 2015 · 2015-05-31..06-03· [databases]
links:none on file
slides:none on file

Lucene stores a sorted term dictionary plus posting lists on disk and answers queries by iterating with next and advance, using a leapfrog algorithm (lead list by smallest doc frequency) to intersect postings cheaply. Regex and fuzzy queries compile to finite automata that are intersected with the term dictionary instead of testing every term. Numeric doc_values use bit‑packed deltas, table encoding, and a GCD trick (e.g., divide millisecond timestamps by 1000) to shrink bits per value. Cardinality uses HyperLogLog++: Murmur3 64‑bit hashes, few KB memory, mergeable and accurate at scale.

AI-written summary · about

  1. 0:00Introduction to Lucene internals
  2. 1:30How inverted indexes work
  3. 5:08Executing term queries
  4. 6:09Conjunctions and leapfrog algorithm
  5. 9:23Regular expression queries
  6. 14:48Numeric values compression
  7. 25:04HyperLogLog for cardinality
  8. 36:43Closing remarks and Q&A
~/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.