Our great sponsors
-
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.
-
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!
-
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
-
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.
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
I wonder how this compares to Flexsearch or the other benchmarked libraries here: https://github.com/nextapps-de/flexsearch#performance-benchm...
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.
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
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
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
Related posts
- What do you use for site search? Custom built solution? Meilisearch? Algolia?
- MiniSearch – fuzzy match search in TypeScript
- Minisearch: Tiny, powerful JavaScript full-text search engine for browser, Node
- For lovers of instant search and Ctrl+K menus, we made an open-source tool to add that to your website in 2 steps: 1. Enter your URL 2. Add code snippet to <head>. Links and code in comments!
- I made a tool to add instant search to your site in 2 steps: 1. Enter your URL 2. Add code snippet to <head>. Links in comments!