Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thekorn/fastfilter_search
https://github.com/thekorn/fastfilter_search
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/thekorn/fastfilter_search
- Owner: thekorn
- Created: 2025-01-01T20:12:51.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2025-01-16T13:23:05.000Z (8 days ago)
- Last Synced: 2025-01-16T14:52:16.540Z (8 days ago)
- Language: Zig
- Size: 1010 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# fastfilter search
![ci workflow](https://github.com/thekorn/fastfilter_search/actions/workflows/ci.yaml/badge.svg)
**NOTE**: this is a work in progress, and not yet ready for use.
## idea
This is - at this point a learning project for:
- zig
- wasm, and running wasm in the browserIdea implement text search in the browser using wasm and zig. See [references](#references) for similar approaches..
![fast filter search](./docs/fastfilter_search.png)## Requirements
- zig >= 0.14
## Tests
Using `nix` tests can be run like
```bash
$ nix develop -c zig build test --summary all
```## building
```bash
$ zig build
```or - using the `ReleaseSmall` optimization level
```bash
$ zig build -Doptimize=ReleaseSmall
```## TODO
- [ ] fix memory leak in loading/deserializing the filter
- [ ] implement stopword filtering## references
- [zg unicode handling](https://codeberg.org/atman/zg)
- [crane search](https://github.com/healeycodes/crane-search)
- [blog post on rust solution](https://dawchihliou.github.io/articles/i-built-a-snappy-full-text-search-with-webassembly-rust-nextjs-and-xor-filters) and [fulltext search code](https://github.com/DawChihLiou/dawchihliou.github.io/tree/main/wasm/fulltext-search)
- [tinysearch](https://github.com/tinysearch/tinysearch) and [tinysearch blog post](https://endler.dev/2019/tinysearch)