What is in a Lucene index? Adrien Grand, Software Engineer, Elasticsearch
LuceneSolrRevolution3 HN recommenders · 2019–2020
80K views · talk · evergreen · Uploaded 2013-12-15
Elasticsearch engineer and Lucene committer Adrien Grand explains the design decisions inside a Lucene index and what problems it can and cannot solve. The talk goes into how Lucene stores data for fast search and analytics.
HN recommends it as an instructive, easy-to-follow look at Lucene internals from a core committer.
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
31:44The Value of Values with Rich Hickey
InfoQ
59:34CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
59:56AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
Amazon Web Services
47:43"Turning the database inside out with Apache Samza" by Martin Kleppmann
Strange Loop Conference
28:23The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?
Reducible
1:07:41Modern Dictionaries by Raymond Hettinger
SF Python
51:36Conflict Resolution for Eventual Consistency • Martin Kleppmann • GOTO 2016
GOTO Conferences
3 comments from Hacker News
This is extremely high level. A nice view of how lucene internals work by core committer Adrien Grand: [LINK] [VIDEO]
I can super highly recommend talks by Adrien Grand on Lucene and Elasticsearch. They are super instructive yet easy to follow. [VIDEO] [LINK]
This is excellent. I was recently reviewing Lucene concepts and found this video really good: [VIDEO] Also this site has a series of Lucene articles that are pretty nice. The one on Term Vectors in particular: [LINK] Based on some quick research it seems like Lucene is already using a sorted skip data structure for the posting list, so I wonder why they had to do a custom implementation? Perhaps it has to do with their custom Document ID scheme and how they want to preserve order in the Posting List being different from the default behavior. It also sounds like searchers are searching on indexes as they're being written, and there is some custom coordination around visibility, which might require diverging from Lucene default behavior. Either way, pretty impressive!