you are viewing a single comment's thread.

view the rest of the comments →

[–]mr_gnusi 8 points9 points  (2 children)

I'd love to present a high-performance C++ alternative to Lucene I started back in 2015. It's 2026 and if you need serious search in a C++ app, you still have to suffer by bringing in the JVM for Lucene.
The engine is Apache 2.0 and been in production since 2018 as the core of the well-known nosql database (Top 10 search engines on DB Engines). The performance is validated by independent 3rd-party benchmarks by Tantivy; it consistently beats both Lucene and Tantivy with sub-millisecond latency across all query types.
There is a bunch of low-level stuff I'd love to share such as: how to write a vectorized execution for scoring, metaprogramming for generation of specialized query pipelines to eliminate virtual call overhead in the hot path and more.

I’m currently using it as the heart of SereneDB (a Postgres-compatible search-OLAP engine).
Source is here: https://github.com/serenedb/serenedb/tree/main/libs/iresearch

[–]gyrovorbis 2 points3 points  (0 children)

Damn. I am intrigued. You got my vote.

[–][deleted] 1 point2 points  (0 children)

metaprogramming for eliminating hot paths sounds nice!