Lyra: Fast, in-memory, typo-tolerant, full-text search engine in TypeScript

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • lunr.js

    A bit like Solr, but much smaller and not as bright

  • I was going to ask how this is different than lunr but I just noticed lunr hasn't been updated for almost 2 years now: https://github.com/olivernn/lunr.js

  • flexsearch

    Next-Generation full text search library for Browser and Node.js

  • I wonder how this compares to Flexsearch or the other benchmarked libraries here: https://github.com/nextapps-de/flexsearch#performance-benchm...

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • orama

    🌌 Fast, dependency-free, full-text and vector search engine with typo tolerance, filters, facets, stemming, and more. Works with any JavaScript runtime, browser, server, service!

  • Lyra

    A simple to use, composable, command line parser for C++ 11 and beyond (by bfgroup)

  • There is a name collision: https://github.com/bfgroup/Lyra. This is the successor of the clara C++ command line parsing library that was used in the catch2 unit testing framework.

  • minisearch

    Tiny and powerful JavaScript full-text search engine for browser and Node

  • I quite enjoy minisearch[1] which is also 0 dependencies, actively maintained, and I expect would work well in a worker environment. I dropped it into a service worker and plugged it with a simple point in polygon script to enable geosearch for a recent project[2] and it played v. nicely.

    [1] https://github.com/lucaong/minisearch

  • re.places

    An in-cache, searchable database of 41,000 global cities. It’s designed as a light-weight polyfill for ‘cities’ in Algolia's places API, for when it sunsets in May 2022

  • FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

  • https://github.com/mariomka/regex-benchmark

    And the always interesting techempower Project, which leaves the implementation to participants of each round. https://www.techempower.com/benchmarks/#section=data-r21&tes...

    Choose whatever category you wish there, js is faster in then go in almost all categories there.

    Even though I said it before, I'm going to repeat myself as I expect you to ignore my previous message: the language doesn't make any implementation fast or slow. You can have a well performing search engine in go, and JS. The performance difference will most likely not be caused by the language with these two choices. And the same will apply with C/Rust. The language won't make the engine performant creating a maximally performant search engine is hard

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • regex-benchmark

    It's just a simple regex benchmark of different programming languages.

  • https://github.com/mariomka/regex-benchmark

    And the always interesting techempower Project, which leaves the implementation to participants of each round. https://www.techempower.com/benchmarks/#section=data-r21&tes...

    Choose whatever category you wish there, js is faster in then go in almost all categories there.

    Even though I said it before, I'm going to repeat myself as I expect you to ignore my previous message: the language doesn't make any implementation fast or slow. You can have a well performing search engine in go, and JS. The performance difference will most likely not be caused by the language with these two choices. And the same will apply with C/Rust. The language won't make the engine performant creating a maximally performant search engine is hard

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts