3 releases (breaking)

0.3.5 Feb 24, 2024
0.3.4 Feb 4, 2024
0.3.3 Jun 7, 2023
0.3.1 May 2, 2022
0.1.1 Jan 13, 2022

#387 in Algorithms


Used in 2 crates (via kvarn-search)

LGPL-3.0-or-later

130KB
3K SLoC

crates.io version lines of code license

Elipdotter

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

Elipdotter is an embeddable, rusty 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, you can easily use this search engine in your Kvarn web server.

Usage example

See the source of kvarn-search for a comprehensive example.

The tests of this crate 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.

v0.2.0

  • Fixed issue where AND NOT queries got erroneous results.
  • Fixed issue 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.
  • Fewer allocations - less memory usage.

License

Elipdotter is licensed under the GNU LGPLv3. All contributions must also be.

Dependencies

~74KB