What is new on Typesense v0.22.1?
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
andcache_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
andtypo_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
andmin_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!