Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infinilabs/pizza-wasm
🦀 INFINI Pizza for WebAssembly, A super-lightweight (~200KB) but full featured static-site search engine written in Rust. 🍕
https://github.com/infinilabs/pizza-wasm
docsearch embedded fulltext fulltext-search infini-pizza javascript light rust rust-lang search-engine static-site wasm web web-assembly
Last synced: 9 days ago
JSON representation
🦀 INFINI Pizza for WebAssembly, A super-lightweight (~200KB) but full featured static-site search engine written in Rust. 🍕
- Host: GitHub
- URL: https://github.com/infinilabs/pizza-wasm
- Owner: infinilabs
- License: mit
- Created: 2024-07-16T14:46:12.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-09T04:53:57.000Z (10 days ago)
- Last Synced: 2024-11-09T05:28:49.032Z (10 days ago)
- Topics: docsearch, embedded, fulltext, fulltext-search, infini-pizza, javascript, light, rust, rust-lang, search-engine, static-site, wasm, web, web-assembly
- Language: JavaScript
- Homepage: https://pizza.rs/
- Size: 8.8 MB
- Stars: 9
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# INFINI Pizza for WebAssembly
INFINI Pizza for WebAssembly is a fully functional search engine that can run entirely in your browser with zero dependencies. Leveraging the power and efficiency of WebAssembly, it offers optimized execution speeds far surpassing traditional JavaScript implementations.
Pizza-wasm is part of the [Pizza](https://github.com/infinilabs/pizza) search engine project, visit [Pizza's site](http://pizza.rs) for more details.
## 🚀 Features
- **Full-Featured Query Engine**: Perform complex searches seamlessly within your browser environment.
- **Offline Indexing**: Build the search index once offline and load it directly in the browser whenever needed.
- **High Performance**: Utilize WebAssembly for optimized and efficient execution.
- **Zero Dependencies**: No external libraries or dependencies required, ensuring lightweight and fast performance.## 🛠️ Building from Source
Follow these steps to build INFINI Pizza from source:
### 1. Prepare Dependencies
Install all necessary dependencies by running:
```sh
make init
```### 2. Build WebAssembly Files
Compile the WebAssembly files with:
```sh
make release
make optimze
make gzip
```After successful compilation, the `pkg` directory will contain the following files:
```sh
pkg
├── README.md
├── package.json
├── pizza-optimized.wasm
├── pizza-snipped.wasm
├── pizza_wasm.d.ts
├── pizza_wasm.js
├── pizza_wasm_bg.js
├── pizza_wasm_bg.wasm
├── pizza_wasm_bg.wasm.d.ts
└── pizza_wasm_bg.wasm.gz
```### 3. Run the Example Web Application
Start the example web application to see INFINI Pizza in action:
```sh
make serve
```This command will launch a local server where you can interact with the application through your browser.
## 📖 References
- **Shrinking .wasm Code Size**
- Documentation: [Rust and WebAssembly](https://rustwasm.github.io/docs/book/reference/code-size.html)- **Deploying WASM to Production**
- Guide: [Rust and WebAssembly Deployment](https://rustwasm.github.io/book/reference/deploying-to-production.html)---
Feel free to contribute to this project by submitting issues or pull requests. For any questions or support, please contact the maintainers.
**Enjoy fast and efficient search capabilities directly in your browser with INFINI Pizza!**