# Typesense API Reference for v0.21.0

This section of the documentation details all the API Endpoints available in Typesense and all the parameters you can use with them.

Use the links on the side navigation bar to get to the appropriate section you're looking for.

To learn how to install and run Typesense, see the Guide section instead.


# What's new

This release contains new features, performance improvements and important bug fixes.

# New Features

  • Geosearch: Use the geopoint data type to index locations, filter and sort on them. We support filtering on records within a given radius and as well as within any arbitrarily defined geo polygon.
  • Wrap literal strings in filter_by values using backticks to ensure that the commas in filter values don't get parsed as a list separator. Example: filter_by: primary_artist_name:=[`Apple, Inc.`]
  • Support exclude / not equals operator for filtering string and boolean facets. Example: filter_by=author:!= JK Rowling
  • Ability to turn off prefix search on a per field basis. For example, if you are querying 3 fields and want to enable prefix searching only on the first field, use ?prefix=true,false,false. The order should match the order in query_by.
  • Ability to turn off typo tolerance on a per field basis. For example, if you are querying 3 fields and want to disable typo tolerance on the first field, use ?num_typos=0,2,2. The order should match the order in query_by.
  • You can now highlight fields that you don't query for. Use ?highlight_fields=title to specify a custom list of fields that should be highlighted.
  • Add filter_by, include_fields and exclude_fields options to documents/export endpoint.

# Enhancements

  • Increased maximum supported length of HTTP query string to 4K characters: if you wish to send larger payloads, use the multi-search end-point.
  • Accept null values for optional fields (opens new window).
  • Support for indexing pre-segmented text: you can now index content from any logographic language into Typesense if you are able to segment / split the text into space-separated words yourself before indexing and querying. You should also set ?pre_segmented_query=true during searching.
  • If you have some overrides defined but want to disable all of them during query time, you can now do that by setting ?enable_overrides=false.

# Bug Fixes

  • Fixed some edge cases with typo correction not finding the correct matches
  • Ensure that exact matches are ranked above others (opens new window). Set ?prioritize_exact_match=false to disable this behavior.
  • Fixed collections:* API key permission which was not previously being recognized by the authentication engine.
  • Fixed float facets being displayed with imprecise precision when displayed as string.

# Deprecations

  • There is a change in the upsert behavior to conform to existing popular conventions: The upsert action now requires the whole document to be sent for indexing. If you wish to update part of a document, use the update action.

TIP

This documentation itself is open source. If you find any issues, click on the Edit page button at the bottom of the page and send us a Pull Request.

Last Updated: 9/24/2021, 9:50:38 PM