[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5437":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},5437,"tantivy","quickwit-oss\u002Ftantivy","quickwit-oss","Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust","",null,"Rust",15373,923,138,333,0,6,46,199,33,43.9,"MIT License",false,"main",true,[27,28],"rust","search-engine","2026-06-12 02:01:10","[![Docs](https:\u002F\u002Fdocs.rs\u002Ftantivy\u002Fbadge.svg)](https:\u002F\u002Fdocs.rs\u002Fcrate\u002Ftantivy\u002F)\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Ftantivy\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Ftantivy\u002Factions\u002Fworkflows\u002Ftest.yml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fquickwit-oss\u002Ftantivy\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fquickwit-oss\u002Ftantivy)\n[![OpenSSF Scorecard](https:\u002F\u002Fapi.scorecard.dev\u002Fprojects\u002Fgithub.com\u002Fquickwit-oss\u002Ftantivy\u002Fbadge)](https:\u002F\u002Fscorecard.dev\u002Fviewer\u002F?uri=github.com\u002Fquickwit-oss\u002Ftantivy)\n[![Join the chat at https:\u002F\u002Fdiscord.gg\u002FMT27AG5EVE](https:\u002F\u002Fshields.io\u002Fdiscord\u002F908281611840282624?label=chat%20on%20discord)](https:\u002F\u002Fdiscord.gg\u002FMT27AG5EVE)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![Crates.io](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Ftantivy.svg)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Ftantivy)\n\n\u003Cimg src=\"https:\u002F\u002Ftantivy-search.github.io\u002Flogo\u002Ftantivy-logo.png\" alt=\"Tantivy, the fastest full-text search engine library written in Rust\" height=\"250\">\n\n## Fast full-text search engine library written in Rust\n\n**If you are looking for an alternative to Elasticsearch or Apache Solr, check out [Quickwit](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Fquickwit), our distributed search engine built on top of Tantivy.**\n\nTantivy is closer to [Apache Lucene](https:\u002F\u002Flucene.apache.org\u002F) than to [Elasticsearch](https:\u002F\u002Fwww.elastic.co\u002Fproducts\u002Felasticsearch) or [Apache Solr](https:\u002F\u002Flucene.apache.org\u002Fsolr\u002F) in the sense it is not\nan off-the-shelf search engine server, but rather a crate that can be used to build such a search engine.\n\nTantivy is, in fact, strongly inspired by Lucene's design.\n\n## Benchmark\n\nThe following [benchmark](https:\u002F\u002Ftantivy-search.github.io\u002Fbench\u002F) breaks down the\nperformance for different types of queries\u002Fcollections.\n\nYour mileage WILL vary depending on the nature of queries and their load.\n\nDetails about the benchmark can be found at this [repository](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Fsearch-benchmark-game).\n\n## Features\n\n- Full-text search\n- Configurable tokenizer (stemming available for 17 Latin languages) with third party support for Chinese ([tantivy-jieba](https:\u002F\u002Fcrates.io\u002Fcrates\u002Ftantivy-jieba) and [cang-jie](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fcang-jie)), Japanese ([lindera](https:\u002F\u002Fgithub.com\u002Flindera-morphology\u002Flindera-tantivy), [Vaporetto](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fvaporetto_tantivy), and [tantivy-tokenizer-tiny-segmenter](https:\u002F\u002Fcrates.io\u002Fcrates\u002Ftantivy-tokenizer-tiny-segmenter)) and Korean ([lindera](https:\u002F\u002Fgithub.com\u002Flindera-morphology\u002Flindera-tantivy) + [lindera-ko-dic-builder](https:\u002F\u002Fgithub.com\u002Flindera-morphology\u002Flindera-ko-dic-builder))\n- Fast (check out the :racehorse: :sparkles: [benchmark](https:\u002F\u002Ftantivy-search.github.io\u002Fbench\u002F) :sparkles: :racehorse:)\n- Tiny startup time (\u003C10ms), perfect for command-line tools\n- BM25 scoring (the same as Lucene)\n- Natural query language (e.g. `(michael AND jackson) OR \"king of pop\"`)\n- Phrase queries search (e.g. `\"michael jackson\"`)\n- Incremental indexing\n- Multithreaded indexing (indexing English Wikipedia takes \u003C 3 minutes on my desktop)\n- Mmap directory\n- SIMD integer compression when the platform\u002FCPU includes the SSE2 instruction set\n- Single valued and multivalued u64, i64, and f64 fast fields (equivalent of doc values in Lucene)\n- `&[u8]` fast fields\n- Text, i64, u64, f64, dates, ip, bool, and hierarchical facet fields\n- Compressed document store (LZ4, Zstd, None)\n- Range queries\n- Faceted search\n- Configurable indexing (optional term frequency and position indexing)\n- JSON Field\n- Aggregation Collector: histogram, range buckets, average, and stats metrics\n- LogMergePolicy with deletes\n- Searcher Warmer API\n- Cheesy logo with a horse\n\n### Non-features\n\nDistributed search is out of the scope of Tantivy, but if you are looking for this feature, check out [Quickwit](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Fquickwit\u002F).\n\n## Getting started\n\nTantivy works on stable Rust and supports Linux, macOS, and Windows.\n\n- [Tantivy's simple search example](https:\u002F\u002Ftantivy-search.github.io\u002Fexamples\u002Fbasic_search.html)\n- [tantivy-cli and its tutorial](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Ftantivy-cli) - `tantivy-cli` is an actual command-line interface that makes it easy for you to create a search engine,\nindex documents, and search via the CLI or a small server with a REST API.\nIt walks you through getting a Wikipedia search engine up and running in a few minutes.\n- [Reference doc for the last released version](https:\u002F\u002Fdocs.rs\u002Ftantivy\u002F)\n\n## How can I support this project?\n\nThere are many ways to support this project.\n\n- Use Tantivy and tell us about your experience on [Discord](https:\u002F\u002Fdiscord.gg\u002FMT27AG5EVE) or by email (paul.masurel@gmail.com)\n- Report bugs\n- Write a blog post\n- Help with documentation by asking questions or submitting PRs\n- Contribute code (you can join [our Discord server](https:\u002F\u002Fdiscord.gg\u002FMT27AG5EVE))\n- Talk about Tantivy around you\n\n## Contributing code\n\nWe use the GitHub Pull Request workflow: reference a GitHub ticket and\u002For include a comprehensive commit message when opening a PR.\nFeel free to update CHANGELOG.md with your contribution.\n\n### Tokenizer\n\nWhen implementing a tokenizer for tantivy depend on the `tantivy-tokenizer-api` crate.\n\n### Clone and build locally\n\nTantivy compiles on stable Rust.\nTo check out and run tests, you can simply run:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Ftantivy.git\ncd tantivy\ncargo test\n```\n\n## Companies Using Tantivy\n\n\u003Cp align=\"left\">\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Fetsy.png\" alt=\"Etsy\" height=\"25\" width=\"auto\" \u002F> &nbsp;\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Fparadedb.png\" alt=\"ParadeDB\" height=\"25\" width=\"auto\" \u002F> &nbsp;\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002FNuclia.png#gh-light-mode-only\" alt=\"Nuclia\" height=\"25\" width=\"auto\" \u002F> &nbsp;\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Fhumanfirst.png#gh-light-mode-only\" alt=\"Humanfirst.ai\" height=\"30\" width=\"auto\" \u002F>\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Felement.io.svg#gh-light-mode-only\" alt=\"Element.io\" height=\"25\" width=\"auto\" \u002F>\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Fnuclia-dark-theme.png#gh-dark-mode-only\" alt=\"Nuclia\" height=\"35\" width=\"auto\" \u002F> &nbsp;\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Fhumanfirst.ai-dark-theme.png#gh-dark-mode-only\" alt=\"Humanfirst.ai\" height=\"25\" width=\"auto\" \u002F>&nbsp; &nbsp;\n\u003Cimg align=\"center\" src=\"doc\u002Fassets\u002Fimages\u002Felement-dark-theme.png#gh-dark-mode-only\" alt=\"Element.io\" height=\"25\" width=\"auto\" \u002F>\n\u003C\u002Fp>\n\n## FAQ\n\n### Can I use Tantivy in other languages?\n\n- Python → [tantivy-py](https:\u002F\u002Fgithub.com\u002Fquickwit-oss\u002Ftantivy-py)\n- Ruby → [tantiny](https:\u002F\u002Fgithub.com\u002Fbaygeldin\u002Ftantiny)\n\nYou can also find other bindings on [GitHub](https:\u002F\u002Fgithub.com\u002Fsearch?q=tantivy) but they may be less maintained.\n\n### What are some examples of Tantivy use?\n\n- [seshat](https:\u002F\u002Fgithub.com\u002Fmatrix-org\u002Fseshat\u002F): A matrix message database\u002Findexer\n- [tantiny](https:\u002F\u002Fgithub.com\u002Fbaygeldin\u002Ftantiny): Tiny full-text search for Ruby\n- [lnx](https:\u002F\u002Fgithub.com\u002Flnx-search\u002Flnx): adaptable, typo tolerant search engine with a REST API\n- [Bichon](https:\u002F\u002Fgithub.com\u002Frustmailer\u002Fbichon): A lightweight, high-performance Rust email archiver with WebUI\n- and [more](https:\u002F\u002Fgithub.com\u002Fsearch?q=tantivy)!\n\n### On average, how much faster is Tantivy compared to Lucene?\n\n- According to our [search latency benchmark](https:\u002F\u002Ftantivy-search.github.io\u002Fbench\u002F), Tantivy is approximately 2x faster than Lucene.\n\n### Does tantivy support incremental indexing?\n\n- Yes.\n\n### How can I edit documents?\n\n- Data in tantivy is immutable. To edit a document, the document needs to be deleted and reindexed.\n\n### When will my documents be searchable during indexing?\n\n- Documents will be searchable after a `commit` is called on an `IndexWriter`. Existing `IndexReader`s will also need to be reloaded in order to reflect the changes. Finally, changes are only visible to newly acquired `Searcher`.\n","Tantivy 是一个受 Apache Lucene 启发并用 Rust 编写的全文搜索引擎库。它支持丰富的文本搜索功能，包括可配置的分词器（支持17种拉丁语言的词干提取）、多种语言的支持（如中文、日文和韩文）以及BM25评分算法。其特点是启动时间极短（小于10毫秒），非常适合用于命令行工具或需要快速响应的应用场景中。此外，Tantivy提供了自然查询语言支持，使得用户可以使用复杂的逻辑表达式进行精确搜索。该项目适合于希望构建高效、灵活且易于集成到现有Rust项目中的全文检索解决方案的开发者。",2,"2026-06-11 03:03:18","top_language"]