Rust Search

Open-source Rust projects categorized as Search

Top 23 Rust Search Projects

  • ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

    Project mention: Ripgrep | news.ycombinator.com | 2024-02-25
  • MeiliSearch

    A lightning-fast search API that fits effortlessly into your apps, websites, and workflow

    Project mention: Publish/Subscribe with Sidekiq | dev.to | 2024-02-21

    We needed to introduce a new service for search. As we settled on using meilisearch, we needed a way to sync updates on our models with the records in meilisearch. We could've continued to use callbacks but we needed something better.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • fd

    A simple, fast and user-friendly alternative to 'find'

    Project mention: Hyperfine: A command-line benchmarking tool | news.ycombinator.com | 2024-02-06

    hyperfine is such a great tool that it's one of the first I reach for when doing any sort of benchmarking.

    I encourage anyone who's tried hyperfine and enjoyed it to also look at sharkdp's other utilities, they're all amazing in their own right with fd[1] being the one that perhaps get the most daily use for me and has totally replaced my use of find(1).

    [1]: https://github.com/sharkdp/fd

  • sonic

    🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.

    Project mention: What is Hybrid Search? | dev.to | 2024-02-06

    Sonic - a project written in Rust, uses custom network communication protocol for fast communication between the client and the server.

  • qdrant

    Qdrant - High-performance, massive-scale Vector Database for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/

    Project mention: Perform Image-Driven Reverse Image Search on E-Commerce Sites with ImageBind and Qdrant | dev.to | 2024-02-28

    Initialize the Qdrant Client with in-memory storage. The collection name will be “imagebind_data” and we will be using cosine distance.

  • mcfly

    Fly through your shell history. Great Scott!

    Project mention: Fly through your shell history | news.ycombinator.com | 2024-01-11

    It is a custom pretrained NN with very few nodes, the full source code is here: https://github.com/cantino/mcfly/blob/master/src/network.rs

  • ast-grep

    ⚡A CLI tool for code structural search, lint and rewriting. Written in Rust

    Project mention: How I build a chatbot for my OSS project, for free, without code! | dev.to | 2023-12-31

    ast-grep is a command-line tool that lets you search and transform code written in many programming languages using abstract syntax trees (ASTs). ASTs are data structures that capture the syntactic and semantic structure of source code. With ast-grep, you can write patterns as if you are writing ordinary code, and it will match all code that has the same syntactical structure. And if you need more power, you can use YAML, a rule system that allows you to write more sophisticated linting rules or code modifications.

  • 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.

  • Toshi

    A full-text search engine in rust

    Project mention: Tantivy 0.20 is released: Schemaless column store, Schemaless aggregations, Phrase prefix queries, Percentiles, and more... | /r/rust | 2023-06-20

    I don't think you have an active project that addresses all those use cases. There was an attempt in Rust with Toshi that is built on top of tantivy, but the project seems to have stalled.

  • stork

    🔎 Impossibly fast web search, made for static sites.

    Project mention: Ask HN: What's the best way to add search to my website? | news.ycombinator.com | 2023-10-08

    If your content is mostly static, you might want to consider pre-building an index and shipping it as a whole. You could look into something like

    * https://stork-search.net/ (Rust/WASM)

    * tinysearch: https://github.com/tinysearch/tinysearch (Rust/WASM)

    * https://lunrjs.com/ (JS, simple, stable)

    * http://elasticlunr.com/ - based on the former, slightly more sophisticated tuning options

  • orange

    Cross-platform local file search engine.

  • stract

    web search done right

    Project mention: Open Source Search Engine as an Alternative to Google Built in Spare Time | news.ycombinator.com | 2024-02-09

    The actual URL is https://stract.com/

    The link is to a blog that tries to get your email in order to let you read.

  • lnx

    ⚡ Insanely fast, 🌟 Feature-rich searching. lnx is the adaptable, typo tollerant deployment of the tantivy search engine.

    Project mention: What is Hybrid Search? | dev.to | 2024-02-06

    lnx - a young but promising project, utilizes Tanitvy as a backend.

  • aho-corasick

    A fast implementation of Aho-Corasick in Rust.

    Project mention: Identifying Rust's collect:<Vec<_>>() memory leak footgun | news.ycombinator.com | 2024-01-18

    You can't build the contiguous variant directly from a sequence of patterns. You need some kind of intermediate data structure to incrementally build a trie in memory. The contiguous NFA needs to know the complete picture of each state in order to compress it into memory. It makes decisions like, "if the number of transitions of this state is less than N, then use this representation" or "use the most significant N bits of the state pointer to indicate its representation." It is difficult to do this in an online fashion, and likely impossible to do without some sort of compromise. For example, you don't know how many transitions each state has until you've completed construction of the trie. But how do you build the trie if the state representation needs to know the number of transitions?

    Note that the conversion from a non-contiguous NFA to a contiguous NFA is, relatively speaking, pretty cheap. The only real reason to not use a contiguous NFA is that it can't represent as many patterns as a non-contiguous NFA. (Because of the compression tricks it uses.)

    The interesting bits start here: https://github.com/BurntSushi/aho-corasick/blob/f227162f7c56...

  • DataSurgeon

    Quickly Extracts IP's, Email Addresses, Hashes, Files, Credit Cards, Social Security Numbers and a lot More From Text

    Project mention: DataSurgeon: Quickly Extracts IP's, Email Addresses, Hashes, Files, URLs, Phone numbers and more from text | /r/SideProject | 2023-04-26
  • nix-index

    Quickly locate nix packages with specific files [maintainers=@bennofs @figsoda @raitobezarius]

    Project mention: Where to find SAR in the package manager? | /r/NixOS | 2023-06-24

    nix-index can be used to provide this functionality, and to automate this process you can use nix-index-database (setup instructions are in the README).

  • Nuclia DB

    NucliaDB, The AI Search database for unstructured data

    Project mention: Tantivy 0.20 is released: Schemaless column store, Schemaless aggregations, Phrase prefix queries, Percentiles, and more... | /r/rust | 2023-06-20

    You have also NucliaDB that is built on top of tantivy and addresses vector search for documents and video search.

  • amber

    A code search / replace tool (by dalance)

    Project mention: Ripgrep 14 Released | news.ycombinator.com | 2023-11-26

    Recently I have also used [ambr](https://github.com/dalance/amber) which can do both search (ambs) and replace (ambr) recursively in your codebase. The only problem as of yet is that it does not support globbing so I cannot filter on certain filetypes only.

  • trieve

    All-in-one infrastructure for search teams building retrieval and RAG. Trieve combines search language models with tools for tuning.

    Project mention: FLaNK Stack Weekly 06 Nov 2023 | dev.to | 2023-11-06
  • lolcate-rs

    Lolcate -- A comically fast way of indexing and querying your filesystem. Replaces locate / mlocate / updatedb. Written in Rust.

  • summa

    Full-text IPFS-friendly and WASM-compatible Search in Rust

  • parui

    Simple TUI frontend for paru or yay.

  • txtai.rs

    Rust client for txtai

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-28.

Rust Search related posts

Index

What are some of the best open-source Search projects in Rust? This list will help you:

Project Stars
1 ripgrep 43,631
2 MeiliSearch 41,902
3 fd 30,897
4 sonic 19,244
5 qdrant 16,369
6 mcfly 6,460
7 ast-grep 5,274
8 Toshi 4,094
9 stork 2,698
10 orange 1,472
11 stract 1,460
12 lnx 1,104
13 aho-corasick 926
14 DataSurgeon 687
15 nix-index 669
16 Nuclia DB 547
17 amber 444
18 trieve 337
19 lolcate-rs 278
20 summa 203
21 Rust_Search 118
22 parui 117
23 txtai.rs 95
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com