
True Partial Updates: How Pizza Engine Achieves 870x Faster Document Mutations
Most search engines treat documents as immutable blobs. Want to change a single field? You have to delete the entire document and re-index it from …
Read More
Shrinking a Search Engine to Fit in Your Browser — Part 5: The Last 60 KB
In Part 4 we hit the original target: a full inverted-index search engine in 245 KB gzipped. That should have been the end of the series.
Read More
The Multilingual Analysis Stack We Built for Real-World Search
Search quality is decided before ranking even starts. If your analysis layer is weak, every downstream component pays for it: matching, highlighting, …
Read More
Shrinking a Search Engine to Fit in Your Browser — Part 4: Optional Geo & Vector Queries
This is Part 4 (final) of a series on shrinking Pizza Engine’s WASM binary from 1.21 MB to 245 KB. In Part 3, we eliminated serde_json. Now we …
Read More
Shrinking a Search Engine to Fit in Your Browser — Part 3: Eliminating serde_json
This is Part 3 of a series on shrinking Pizza Engine’s WASM binary from 1.21 MB to 245 KB. In Part 2, we gated aggregations. Now we remove the …
Read More
Shrinking a Search Engine to Fit in Your Browser — Part 2: Feature-Gated Aggregations
This is Part 2 of a series on shrinking Pizza Engine’s WASM binary from 1.21 MB to 245 KB. In Part 1, we designed zero-overhead typed bindings. …
Read More
Shrinking a Search Engine to Fit in Your Browser — Part 1: Zero-Overhead WASM Bindings
Pizza Engine ships as a WebAssembly module that runs a full inverted-index search engine inside a browser tab or Node.js worker. You mount .fire …
Read More
Profiling Rust Code on macOS: My Daily Workflow
Profiling Rust code has become part of my daily routine. As I primarily develop on macOS, I’ve noticed there aren’t many tools that allow …
Read More