Hackers News

GitHub – gsidhu/buzee-tauri

Full-text search app for Mac and Windows

Buzee (pronounced boozey) is a eight-year-old labrador retriever who can’t play fetch but can love you like no other.

Buzee is also a full-text search application for your life. It helps you find your files, effortlessly.

Download v0.2.0 from the Releases page.

  • Fast, full-text search for all your documents, images, audio, video, folders, and browser history.
  • Search all local documents and folders by keyword, time, type, or any combination of these.
  • Ignore specific files or folders from being indexed. Or ignore only their content.
  • View search results in a list or icon view.
  • View statistics about your files.
  • Sub-features:
    • Extract text from PDFs and Images using OCR.
    • Use a Scratch Pad to quickly jot down notes.
  • Automatically syncs with changes on your filesystem.
  • Lightweight installation package and low memory usage.
  • Supports these default file types:
Documents: csv, docx, key, md, numbers, pages, pdf, pptx, txt, xlsx, xls
Images: jpg, jpeg, png, gif
Books: epub, mobi, azw3, pdf
Audio: mp3, wav, aac, flac, ogg
Video: mp4, mkv, avi, mov, wmv
Index:
(~) : partly implemented
(+) : has to be built from scratch
(?) : not sure if it will add great value
  • (~) Show matching text for search results by reading from the body table.
  • (~) Browser history search should support complex queries the way document search does.
  • (~) Icon view should load thumbnails in an efficient, non-blocking manner. Thumbnails should show up on the page as they are loaded.
  • (~) Enable adding ‘comments’ to documents.
  • (~) Enable pinning documents/folders to the top of search results.
  • (~) Allow user to add or remove supported file types.
  • (~) Allow user to switch between profiles on Arc and Chrome. (Currently uses the default profile)
  • (~) Test for Linux.
  • (~) Improve the speed of parsing PDFs, Images and XLSX files. Especially OCR operations.
  • (+) Enable adding ‘tags’ to documents.
  • (+) Create a ‘Dashboard’ view that shows statistics, pinned documents, and recent searches.
  • (+) Add tests to the codebase.
  • (?) Record frecency of documents and use it to sort search results.

Back-end:

  • Rust
  • Tauri v2 beta
  • SQLite
  • Tantivy

Front-end:

  • Svelte 4 using TypeScript
  • shadcn-svelte
  • TailwindCSS

See all dependencies in the Cargo.toml and package.json files.

  • All file metadata is stored in SQLite in the document table. A central metadata table stores the metadata from files and eventually cloud services, emails etc.
  • A full-text index is created on metadata and stored as the metadata_fts table.
  • Parsed text from documents is stored in the body table.
  • A full-text index is created in Tantivy at the same time.
  • The Firefox, Chrome and Arc history is searched using their respective history databases directly.
  • All front-end code is in the src directory. All back-end code is in the src-tauri directory.

Contributing / Way Forward

Read the Vision and Roadmap.

I have spent two years building this project. It started as an Electron app, then I switched to Tauri for performance gains. When I started I barely new JavaScript and Svelte. Over the course of development, I learned NodeJS, TypeScript, SQLite, Rust, Tauri, Tantivy, and many other technologies. I learned so much about managing a project of this size and complexity. I am proud of what I have built but I am more proud of what I have learned.

I am now letting go of this project because I have other priorities. Please feel free to do with this project as you wish. I am happy to help you get started with the codebase.

If nothing else, this project can serve as an example of how to build a full-text search engine using Tauri and Tantivy. There are several tiny features and performance workarounds that I have implemented that you might find useful.

If you do do something with this project, please let me know. I would love to see what you build!

MIT

admin

The realistic wildlife fine art paintings and prints of Jacquie Vaux begin with a deep appreciation of wildlife and the environment. Jacquie Vaux grew up in the Pacific Northwest, soon developed an appreciation for nature by observing the native wildlife of the area. Encouraged by her grandmother, she began painting the creatures she loves and has continued for the past four decades. Now a resident of Ft. Collins, CO she is an avid hiker, but always carries her camera, and is ready to capture a nature or wildlife image, to use as a reference for her fine art paintings.

Related Articles

Leave a Reply