Outline: [Article Title]

Keyword: [Enter Targeted Keyword]

Keyword MSV: [Enter Targeted Keyword’s Monthly Search Volume]

Author: [Enter Author Name]

Due Date: [Enter Due Date]

Publish Date: [Enter Desired Publish Date]

User Persona: [Enter Targeted Reader and/or User Persona]


In their recent v0.22.2 release, Typesense included a slew of new features and bug fixes.The changelog shown below summarizes all of the differences between v0.21.0 and v0.22.2.

New Features

  • Customizable word separators: define a list of special characters via the token_separators configuration during schema creation. These characters are then used as word separators, in addition to space and new-line characters.
  • Index and search special characters: define a list of special characters that will be indexed as text via the symbols_to_index configuration during schema creation.
  • Dynamic filtering based on rules: overrides now support a filter_by clause that can apply filters dynamically to query rules defined in the override.
  • Server side caching: cache search requests for a configurable amount of time to improve perceived latencies on heavy queries. Refer to the use_cache and cache_ttl parameters. By default, caching is disabled.
  • Protection against expensive queries via the use of search_cutoff_ms parameter that attempts to return results early when the cutoff time has elapsed. This is not a strict guarantee and facet computation is not bound by this parameter.
  • Added geo_precision sorting option to geo fields. This will bucket geo points into “groups” determined by the given precision value, such that points that fall within the same group are treated as equal, and the next sorting field can be considered for ranking.

Enhancements

  • Reduced memory consumption: 20-30% depending on the shape of your data.
  • Improved update performance: updates on string fields are now 5-6x faster.
  • Improved search performance: 20-25% faster on a variety of datasets we tested on.
  • Improved parallelization for multi-collection writes: collections are now indexed independently, making indexing much faster when you are writing to hundreds of collections at the same time.
  • Allow exhaustive searching via the exhaustive_search parameter. Setting ?exhaustive_search=true will make Typesense consider all prefixes and typo corrections of the words in the query without stopping early when enough results are found (drop_tokens_threshold and typo_tokens_threshold configurations are ignored).
  • Exact filtering on strings (using the := operator) no longer requires the field to be facetable.
  • Make minimum word length for 1-char typo and 2-char typos configurable via min_len_1typo and min_len_2typo parameters. Defaults are 4 and 7 respectively.
  • Support filtering by document id in filter_by query.
  • Support API key permission for creating a specific collection: previously, there was no way to generate an API key that allows you to create a collection with a specific name.
  • Allow use of type auto for a field whose name does not contain a regular expression.
  • Geosearch filter automatically sorts the geo points for the polygon in the correct order: so you don’t have to define them in counter clockwise order anymore.

Closing

Typesense was built with several distinctive features primarily aimed at making the developer’s job easier while also giving customer as well as user the ability to provide a better search experience as possible.This article may have been entertaining as well as instructive in terms of how to install typesense from the ground up on a variety of platforms. Join Aviyel’s community to learn more about the open source project, get tips on how to contribute, and join active dev groups.

Call-to-Action

Aviyel is a collaborative platform that assists open source project communities in monetizing and long-term sustainability. To know more visit Aviyel.com and find great blogs and events, just like this one! Sign up now for early access, and don’t forget to follow us on our socials!