Skip to content

πŸš€ Version 0.9.0

Compare
Choose a tag to compare
@ChillFish8 ChillFish8 released this 25 Jun 15:57
· 5 commits to master since this release
6fbb7de

Version 0.9.0

This is a breaking release and will require you you re-index your data and re-create schemas.

It's been a little while since the last release, 0.9 isn't a huge release however, a lot of work has gone into preparing for 0.10 which hopefully should add high availability to the search instances.

What's New

  • Synonym support is now added! Finally! My life is complete! I can Retire! On a more serious note yes it's added and can be adjusted using the /indexes/:index/synonyms endpoint via POST, GET and DELETE requests respectively. there's also a /indexes/:index/synonyms/clear DELETE endpoint which allows you to clear all synonyms. The syntax for adding synonyms is a semi-relation structure where you provide a list of strings in the format of <word>,<word>:<synonym>, <synonym>,<synonym> which will set all the words on the left of the : to have the given synonyms. This allows you to define synonyms fairly easy for related words e.g. iphone,apple,phone:apple,phone,iphone
  • All loaded stop words can be viewed via the /indexes/:index/stopwords GET endpoint.
  • Returned documents are now converted to be in line with the defined schema i.e fields with multi set to false will be returned as single values and if no value is set it will be returned as null rather than just missing the field entirely.
  • You can now mark fields as required which will cause lnx to reject any documents that are missing required fields (this will also reject fields that are provided but have empty values i.e "foo": []

What's Different

  • Fields now have a multi field attribute to set them as being multi-value. If they're not multi-value but multiple values are provided, the system will take the last value in the array.
  • The fast attribute for fields is now a bool rather than single/multi because generally, it was a bit confusing to users to know when they wanted single or when they wanted multi, now this is an internal thing. You only have to worry about saying if you want it to be a fast field or not.
  • Fast fuzzy now scores by edit distance and the BM25 score, making for much better relevancy when searching.
  • Fast fuzzy uses traditional word -> terms lookups vs the compound correction

What's Fixed

  • lnx will now return an error if you try and sort by multi-value fields, this was a panic if you had the fast-field cardinality set correctly.

What's Changed

  • Improve schema validations and Query logic in #68
  • Implement schema conversion to returned docs and general improvements in #69
  • Cleanup query info, hint and add synonym support in #71
  • Altered the way fast-fuzzy queries are produced and scored #95
  • Moved from a custom fork of SymSpell to dedicated Compose repo #96
  • Added a fields attribute for fuzzy queries allowing for selective field searches, as part of #93

New Contributors

Full Changelog: 0.8.1...0.9.0