Search engine: Extended typo tolerance in Typesense 27
Typesense, a fast, typo-tolerant search engine, offers new features such as sum_score and extended synonym support with version 27.
(Image: Karramba Production/Shutterstock.com)
Version 27 of the open source search engine Typesense has been released. The update brings a new sum_score text match function, extended typo tolerance settings for alphanumeric words – words containing both numbers and letters –, revised support for synonyms, customizable facing strategies and numerous new search parameters and API enhancements.
Extension of typing error tolerance
One of the highlights of version 27 is a new text_match_type mode called sum_score. This sums up the text match scores at field level in order to obtain an overall score at document level. According to the release notes, this is particularly useful if users want to classify documents with multiple matches in weighted fields as more relevant.
Version 27 of the search engine also includes an extension of the typing error tolerance. It can be switched on or off in the search query via the parameter enable_typos_for_alpha_numerical_tokens, whereby the default value is set to true. For example, if you want to deactivate the typo tolerance for a word such as "turbo100", the parameter mentioned can be set to false via the search query.
(Image:Â GitHub.com/typesense)
Support for synonyms
The history of conversational searches is now saved as a regular Typesense collection, which brings new possibilities as well as changes in the previous behavior.
Support for synonyms has been optimized by allowing them to be included in query prefixes and typo-corrected queries. This is made possible by the new parameters synonym_prefix and synonym_num_typos.
Videos by heise
Specify faceting strategy explicitly
In addition, the faceting strategy can now be explicitly defined using the facet_strategy parameter. The faceting strategy is the method used by search engines such as Typesense to divide certain data into categories or "facets" and organize the results according to these categories. Faceting is a technique that allows users to filter and refine search results by displaying and selecting different aspects or properties of the data. The new feature allows more granular control over how Typesense calculates and displays facets.
In addition, support for nested reference collections in JOINS has been extended, offering new variants in query linking and sorting for complex data structures.
New search parameters and revised AI search
In addition to the functions mentioned above, the update implements numerous optimizations. These include new search parameters such as enable_synonyms, filter_curated_hits and enable_analytics, which offer additional customization options. On the server side, flags such as --filter-by-max-ops and --max-per-page have been added, and the option to dynamically update the cache size is intended to increase flexibility.
The AI search has also been revised: There is now support for API keys in vLLM conversation models and a suppression of punctuation and non-language tokens in voice search. Enhanced API endpoints allow finer control of search queries and consideration of fields.
What is Typesense?
Typesense is described as a fast and typo-tolerant search engine that appears to have been specifically designed to create engaging search experiences. The GitHub repository touts it as an open-source alternative to the hosted search and discovery API Algolia, as well as a more user-friendly alternative to the Elasticsearch search engine. Users should be able to set up, integrate and scale Typesense with little effort.
The architecture of the search engine is written in the C++ programming language, which apparently has a positive effect on the output of search results – According to the repository, Typesense delivers search results with a latency of less than 50 milliseconds. It supports functions such as customizable ranking, sorting, faceting, geo-search, semantic search and image search.
More information on version 27 of the Typesense search engine can be found in the release notes on GitHub.
(mdo)