> ## Documentation Index
> Fetch the complete documentation index at: https://www.meilisearch.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Meilisearch v1.3 release notes

> Released July 31, 2023

## New Features

### Vector Search (Experimental)

Meilisearch now supports vector search, allowing you to use it as a vector store. You can add vector embeddings generated by third-party tools (such as Hugging Face, Cohere, or OpenAI) and search using vector similarity.

Enable vector search via the experimental features endpoint:

```bash theme={null}
curl \
 -X PATCH 'http://localhost:7700/experimental-features/' \
 -H 'Content-Type: application/json' \
 --data-binary '{"vectorStore": true}'
```

Add documents with vector embeddings using the `_vectors` field:

```bash theme={null}
curl -X POST -H 'content-type: application/json' \
 'localhost:7700/indexes/songs/documents' \
 --data-binary '[
 {"id": 0, "_vectors": [0, 0.8, -0.2], "title": "Across The Universe"},
 {"id": 1, "_vectors": [1, -0.2, 0], "title": "All Things Must Pass"},
 {"id": 2, "_vectors": [[0.5, 3, 1], [-0.2, 4, 6]], "title": "And Your Bird Can Sing"}
 ]'
```

Query using vectors with the `/search` or `/multi-search` endpoints:

```bash theme={null}
curl -X POST -H 'content-type: application/json' \
 'localhost:7700/indexes/songs/search' \
 --data-binary '{"vector": [0, 1, 2]}'
```

Vector search results include a `_semanticScore` field (0 to 1) indicating relevance:

```json theme={null}
{
  "hits": [
    {
      "id": 0,
      "_vectors": [
        0,
        0.8,
        -0.2
      ],
      "title": "Across The Universe",
      "_semanticScore": 0.6754
    }
  ]
}
```

Note: Vector size must be consistent across all documents in an index.

### Ranking Score Visibility

Use the `showRankingScore` search parameter to see how relevant each document is to your query:

```bash theme={null}
curl \
 -X POST 'http://localhost:7700/indexes/movies/search' \
 -H 'Content-Type: application/json' \
 --data-binary '{"q": "Batman Returns", "showRankingScore": true}'
```

Each document includes a `_rankingScore` field (0 to 1, higher is more relevant).

### Ranking Score Details (Experimental)

Get detailed scoring breakdowns per ranking rule using the experimental `showRankingScoreDetails` parameter:

```bash theme={null}
curl \
 -X PATCH 'http://localhost:7700/experimental-features/' \
 -H 'Content-Type: application/json' \
 --data-binary '{"scoreDetails": true}'
```

Then use it in searches:

```bash theme={null}
curl \
 -X POST 'http://localhost:7700/indexes/movies/search' \
 -H 'Content-Type: application/json' \
 --data-binary '{"q": "Batman Returns", "showRankingScoreDetails": true}'
```

Results include a `_rankingScoreDetails` object showing scores for each ranking rule (words, typo, proximity, attribute, exactness).

### Define Searchable Fields at Query Time

The new `attributesToSearchOn` search parameter restricts searches to specific attributes:

```json theme={null}
{
  "q": "adventure",
  "attributesToSearchOn": [
    "genre"
  ]
}
```

Attributes must be in the searchable attributes list. Given a dataset with documents containing "adventure" in both `name` and `genre` fields, this query returns only documents with "adventure" in the `genre` field.

### Search Facet Values

The new `POST /indexes/{index}/facet-search` endpoint searches within facet values (fields defined as `filterableAttributes`). It supports prefix search and typo tolerance:

```bash theme={null}
curl \
 -X POST 'http://localhost:7700/indexes/movies/facet-search' \
 -H 'Content-Type: application/json' \
 --data-binary '{"facetName": "genres", "facetQuery": "a"}'
```

### Sort Facets by Count

Use the `sortFacetValuesBy` setting to order facet values by frequency. Sort all facets by count:

```bash theme={null}
curl \
 -X PATCH 'http://localhost:7700/indexes/movies/settings/faceting' \
 -H 'Content-Type: application/json' \
 --data-binary '{"sortFacetValuesBy": {"*": "count"}}'
```

Or sort individual facets while keeping others alphabetical:

```bash theme={null}
curl \
 -X PATCH 'http://localhost:7700/indexes/movies/settings/faceting' \
 -H 'Content-Type: application/json' \
 --data-binary '{"sortFacetValuesBy": {"*": "alpha", "genre": "count"}}'
```

### Task Queue Visibility

The `/tasks` route now includes a `total` property showing the total number of tasks in the queue. You can filter this count, for example `/tasks?statuses=succeeded` shows the total number of successfully processed tasks.

## Improvements

### Attribute Ranking Rule Refinement

The `attribute` ranking rule now calculates relevance based on how close a matching word is to that word's position in the query, rather than its absolute distance from the beginning of the attribute. This provides more intuitive ranking when search terms appear at different positions in document fields.

### Language Support Enhancements

* Improved Japanese word segmentation
* Enhanced separator-based tokenization: words containing underscores (`_`) are now properly segmented into separate words, and brackets `{()}` are no longer treated as context separators for the proximity ranking rule

### Performance and Size Improvements

* Reduced index size by approximately 15% through internal database optimization
* Improved deserialization performance
* Re-enabled task autobatching for addition and deletion operations
* Fixed performance issue on `/stats` endpoint

### Metrics Improvements

The experimental Prometheus `/metrics` endpoint now provides:

* Task queue metrics including number of queued and processing tasks
* Real database size used by Meilisearch
* "meilisearch" prefix on all metrics
* `lastUpdate` and `isIndexing` fields in `/stats` endpoint

### Web Interface Update

Updated the local search preview web interface and mini-dashboard to version v0.2.11.

## Other

### Case-Sensitive Search Fix

Fixed case-sensitive search issues with camelCase words. Searches for `dellonghi` now properly match documents containing `DeLonghi`.

### Vector and Geo Fixes

* Fixed geo bounding box queries with string coordinates (requires re-indexing documents with `lat` and `lng` fields)
* Fixed handling of null JSON values in the `_vectors` field
* Fixed panic when using multiple vectors with different dimensions
* Fixed panic when sorting geo fields represented as strings

### Filter Improvements

Fixed filter escaping to properly handle the backslash character at the end of filter values.

### Other Notable Changes

* Fixed highlighting document issues by properly remapping char map when lowercasing strings
* Fixed panic in ranking rule bucket sort algorithm
* Added new `/experimental-features` endpoint for managing experimental features like `scoreDetails` and `vectorStore`
* Fixed document deletion statistics when using filters

[Find more information on GitHub](https://github.com/meilisearch/meilisearch/releases/tag/v1.3.0)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.