elipdotter 0.3.5

Embeddable full text search engine
Documentation
[![crates.io version](https://img.shields.io/crates/v/elipdotter)](https://crates.io/crates/elipdotter)
![lines of code](https://img.shields.io/tokei/lines/github/Icelk/elipdotter)
![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.