An open API service indexing awesome lists of open source software.

https://github.com/icelk/elipdotter

Embeddable full text search engine.
https://github.com/icelk/elipdotter

Last synced: about 1 year ago
JSON representation

Embeddable full text search engine.

Awesome Lists containing this project

README

          

[![crates.io version](https://img.shields.io/crates/v/elipdotter)](https://crates.io/crates/elipdotter)
![lines of code](https://tokei.rs/b1/github/Icelk/elipdotter?style=flat)
![license](https://img.shields.io/github/license/Icelk/elipdotter)

# Elipdotter

> The forgotten daughter of Elip, inheriting it's minimalism.

Elipdotter is an embeddable, [rusty](https://rust-lang.org) full-text search
engine, with fuzzy search and rating of results. It supports complex queries
using `AND`, `OR`, and `NOT` operators with parentheses.

## Kvarn integration

Using the [`kvarn-search`](https://github.com/Icelk/kvarn-search), you can
easily use this search engine in your [Kvarn web server](https://kvarn.org).

# Usage example

See the
[source of `kvarn-search`](https://github.com/Icelk/kvarn-search/tree/main/src/)
for a comprehensive example.

The [tests of this crate](https://github.com/Icelk/elipdotter/tree/main/tests/)
contain minimal examples.

# Changelog

## v0.3.5

- Fix panic in some circumstances when non-ASCII characters were indexed.
- Fix "starts with" detection when content contains non-alphanumeric or
non-ASCII characters.

## v0.3.4

- Update `simstr`
- Fix some clippy lints.

## v0.3.3

- Fix another issue with AND NOT, where some results would disappear when
adding the NOT part.

## v0.3.2

- Fix an issue with AND NOT, where some results would disappear when adding
the NOT part.

## v0.3.1

- Removed unwanted debugging.

## v0.3.0

- Added lossless index for faster query resolution times.
- 10x better performance at the cost of having all the documents in
memory.
- Fixed parsing issue where `for me` would be parsed as `OR(f, me)`.
- Fixed issue with AND NOT, where AND didn't find the closest NOT occurrence.
- Added size method to indices to estimate the memory usage.
- Improvements to [docs](https://doc.icelk.dev/elipdotter/elipdotter/).

## v0.2.0

- [Fixed issue](https://github.com/Icelk/elipdotter/commit/7ab071c) where AND
NOT queries got erroneous results.
- [Fixed issue](https://github.com/Icelk/elipdotter/commit/51370f7) with OR
queries. Now all occurrences in either of the documents are returned.
- Major improvements to relevancy of results, by checking more combinations of
occurrences within a document. Small performance impact.
- Text `next-gen` is now matched by the query `nextgen` - words with hyphens
are registered as both separate words and one single.
- Better [docs](https://doc.icelk.dev/elipdotter/elipdotter/).
- Fewer allocations - less memory usage.

# License

Elipdotter is licensed under the [GNU LGPLv3](COPYING). All contributions must
also be.