Skip to content
This repository was archived by the owner on Mar 21, 2024. It is now read-only.

Commit 7376189

Browse files
macraiggmourierKerollmopsbidoubiwairevoire
authored
Release v1.3.0 (#244)
* Bump openapi.yaml file * Facet Search API (#246) * Init specification * Adjust spec files to PR number * Fix content-type open-api * Remove fix content-type * Add the telemetry * Update text/0246-facet-search-api.md Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com> * Update text/0034-telemetry-policies.md --------- Co-authored-by: Clément Renault <clement@meilisearch.com> Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com> * Faceting Setting API - sortFacetValuesBy (#247) * init spec * Add property description and open-api.yaml * Removes future possibility * Update the telemetry * Update the error of the sortFacetValuesBy setting --------- Co-authored-by: Clément Renault <clement@meilisearch.com> * Vector Search - `EXPERIMENTAL` (#248) * Init spec * Fix the vector store fields * Add an information on the invalid_search_vector error code * Add an information on the invalid_vectors_field error codes * Define the new max_vector_size analytic * Update the open-api file with vector capabilities * Apply suggestions from code review * Update open-api.yaml Co-authored-by: Maria Craig <marycraig90@gmail.com> * Update open-api.yaml Co-authored-by: Maria Craig <marycraig90@gmail.com> * Update text/0118-search-api.md Co-authored-by: Maria Craig <marycraig90@gmail.com> * Update text/0061-error-format-and-definitions.md Co-authored-by: Maria Craig <marycraig90@gmail.com> --------- Co-authored-by: Kerollmops <clement@meilisearch.com> Co-authored-by: Maria Craig <marycraig90@gmail.com> * Tasks route total (#253) * Update the tasks route info to add the total field * Update the OpenApi of the tasks route * Document the latest metrics improvements (#242) * document the latest metrics improvements * Update text/0174-metrics-api.md Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com> * Update text/0174-metrics-api.md Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com> * adds some details on the meilisearch_db_size metrics * update the open api metrics smaple * update a bad copy paste * Update open-api.yaml * prefix prometheus metrics by meilisearch_ * Introduce two new metrics --------- Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com> Co-authored-by: Kerollmops <clement@meilisearch.com> --------- Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com> Co-authored-by: Clément Renault <clement@meilisearch.com> Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com> Co-authored-by: Clément Renault <renault.cle@gmail.com> Co-authored-by: Tamo <tamo@meilisearch.com>
1 parent 3116739 commit 7376189

13 files changed

Lines changed: 1549 additions & 158 deletions

open-api.yaml

Lines changed: 472 additions & 34 deletions
Large diffs are not rendered by default.

text/0034-telemetry-policies.md

Lines changed: 58 additions & 2 deletions
Large diffs are not rendered by default.

text/0060-tasks-api.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,7 @@ The main drawback of this type of pagination is that it does not navigate within
564564

565565
| field | type | description |
566566
|-------|------|--------------------------------------|
567+
| total | integer | The total number of tasks matching the filter/query |
567568
| limit | integer | Default `20`. |
568569
| from | integer | The first task uid returned |
569570
| next | integer - nullable | Represents the value to send in `from` to fetch the next slice of the results. The first item for the next slice starts at this exact number. When the returned value is null, it means that all the data have been browsed in the given order. |
@@ -602,6 +603,7 @@ This part demonstrates keyset paging in action on `/tasks`. The items `uid` rema
602603
...,
603604
}
604605
],
606+
"total": 1351,
605607
"limit": 20,
606608
"from": 1350,
607609
"next": 1329
@@ -629,6 +631,7 @@ This part demonstrates keyset paging in action on `/tasks`. The items `uid` rema
629631
...,
630632
}
631633
],
634+
"total": 1330,
632635
"limit": 50,
633636
"from": 1329,
634637
"next": 1278
@@ -656,6 +659,7 @@ This part demonstrates keyset paging in action on `/tasks`. The items `uid` rema
656659
...,
657660
}
658661
],
662+
"total": 20,
659663
"limit": 20,
660664
"from": 20,
661665
"next": null

text/0061-error-format-and-definitions.md

Lines changed: 200 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Errors can be returned in two different ways: `Synchronous` or `Asynchronous`.
6969

7070
This error code is generic. Whenever an error is thrown for a resource field, a clear and precise error code should be determined to guide the user efficiently.
7171

72-
E.g. Sending an unknow field for a resource raises a generic `bad_request` error.
72+
E.g. Sending an unknown field for a resource raises a generic `bad_request` error.
7373

7474
### Error Definition
7575

@@ -1474,6 +1474,31 @@ HTTP Code: `400 Bad Request`
14741474

14751475
---
14761476

1477+
## invalid_search_vector
1478+
1479+
`Synchronous`
1480+
1481+
### Context
1482+
1483+
This error occurs for the listed reasons:
1484+
- if a value with a different type than `Array of Float` or `null` for `vector` is specified.
1485+
- if the vector length differs from the documents `_vectors` length.
1486+
1487+
### Error Definition
1488+
1489+
HTTP Code: `400 Bad Request`
1490+
1491+
```json
1492+
{
1493+
"message": "`:deserr_helper`",
1494+
"code": "invalid_search_vector",
1495+
"type": "invalid_request",
1496+
"link": "https://docs.meilisearch.com/errors#invalid_search_vector"
1497+
}
1498+
```
1499+
1500+
---
1501+
14771502
## invalid_search_offset
14781503

14791504
`Synchronous`
@@ -1808,6 +1833,123 @@ HTTP Code: `400 Bad Request`
18081833
}
18091834
```
18101835

1836+
## invalid_search_attributes_to_search_on
1837+
1838+
`Synchronous`
1839+
1840+
### Context
1841+
1842+
This error occurs if a value with a different type than `Array of String`(POST), `String`(GET) or `null` and other than attributes names contained in the settings `searchableAttributes` as a value for `attributesToSearchOn` is specified.
1843+
1844+
### Error Definition
1845+
1846+
HTTP Code: `400 Bad Request`
1847+
1848+
```json
1849+
{
1850+
"message": "`:deserr_helper`",
1851+
"code": "invalid_search_attributes_to_search_on",
1852+
"type": "invalid_request",
1853+
"link": "https://docs.meilisearch.com/errors#invalid_search_attributes_to_search_on"
1854+
}
1855+
```
1856+
1857+
#### Variant: one of the values is not part of the settings `searchableAttributes` list
1858+
1859+
```json
1860+
{
1861+
"message": "Attribute `:value` is not searchable. Available searchable attributes are: `:searchableAttributes`.",
1862+
"code": "invalid_search_attributes_to_search_on",
1863+
"type": "invalid_request",
1864+
"link": "https://docs.meilisearch.com/errors#invalid_search_attributes_to_search_on"
1865+
}
1866+
```
1867+
1868+
#### Variant: one of the values is not part of the settings `searchableAttributes` list and not all of the `searchableAttributes` are displayable
1869+
1870+
```json
1871+
{
1872+
"message": "Attribute `:value` is not searchable. Available searchable attributes are: `:DisplayableSearchableAttributes, <..hidden-attributes>`.",
1873+
"code": "invalid_search_attributes_to_search_on",
1874+
"type": "invalid_request",
1875+
"link": "https://docs.meilisearch.com/errors#invalid_search_attributes_to_search_on"
1876+
}
1877+
```
1878+
1879+
---
1880+
1881+
## missing_facet_search_facet_name
1882+
1883+
`Synchronous`
1884+
1885+
### Context
1886+
1887+
This error occurs if `facetName` isn't specified when making a facet search call.
1888+
1889+
### Error Definition
1890+
1891+
HTTP Code: `400 Bad Request`
1892+
1893+
```json
1894+
{
1895+
"message": "`:deserr_helper`",
1896+
"code": "missing_facet_search_facet_name",
1897+
"type": "invalid_request",
1898+
"link": "https://docs.meilisearch.com/errors#missing_facet_search_facet_name"
1899+
}
1900+
```
1901+
1902+
---
1903+
1904+
## invalid_facet_search_facet_name
1905+
1906+
`Synchronous`
1907+
1908+
### Context
1909+
1910+
This errors occurs when the provided value for `facetName`:
1911+
1912+
- Is not a string
1913+
- Is not defined in the `filterableAttributes` index setting
1914+
1915+
### Error Definition
1916+
1917+
HTTP Code: `400 Bad Request`
1918+
1919+
```json
1920+
{
1921+
"message": "`:deserr_helper`",
1922+
"code": "invalid_facet_search_facet_name",
1923+
"type": "invalid_request",
1924+
"link": "https://docs.meilisearch.com/errors#invalid_facet_search_facet_name"
1925+
}
1926+
```
1927+
1928+
---
1929+
1930+
## invalid_facet_search_facet_query
1931+
1932+
`Synchronous`
1933+
1934+
### Context
1935+
1936+
This errors occurs when the provided value for `facetQuery`:
1937+
1938+
- Is not a string or null
1939+
1940+
### Error Definition
1941+
1942+
HTTP Code: `400 Bad Request`
1943+
1944+
```json
1945+
{
1946+
"message": "`:deserr_helper`",
1947+
"code": "invalid_facet_search_facet_query",
1948+
"type": "invalid_request",
1949+
"link": "https://docs.meilisearch.com/errors#invalid_facet_search_facet_query"
1950+
}
1951+
```
1952+
18111953
---
18121954

18131955
## invalid_document_geo_field
@@ -1863,6 +2005,38 @@ These errors occurs when the `_geo` field of a document payload is not valid. Ei
18632005

18642006
---
18652007

2008+
## invalid_document_vectors_field
2009+
2010+
`Asynchronous`
2011+
2012+
### Context
2013+
2014+
This error occurs when the `_vectors` field of a document payload is not valid either due to the type of it or the number of dimensions.
2015+
2016+
### Error Definition
2017+
2018+
#### Variant: `_vectors` field value type is invalid
2019+
2020+
```json
2021+
{
2022+
"message": "The `_vectors` field in the document with the id: `:documentId` is not an array. Was expecting an array of floats or an array of arrays of floats but instead got `:field`",
2023+
"code": "invalid_document_vectors_type",
2024+
"type": "invalid_request",
2025+
"link": "https://docs.meilisearch.com/errors#invalid_document_vectors_type"
2026+
}
2027+
```
2028+
2029+
#### Variant: Number of dimensions is not correct
2030+
2031+
```json
2032+
{
2033+
"message": "Invalid vector dimensions: expected: `:expected`, found: `:found`.",
2034+
...
2035+
}
2036+
```
2037+
2038+
---
2039+
18662040
## payload_too_large
18672041

18682042
`Synchronous`
@@ -2512,6 +2686,31 @@ HTTP Code: `400 Bad Request`
25122686

25132687
- `:payloadType` is e.g. `json`, `ndjson`, `csv`
25142688

2689+
## feature_not_enabled
2690+
2691+
`Synchronous`
2692+
2693+
### Context
2694+
2695+
This error occurs when a request was made using an [experimental feature](./0193-experimental-features.md) that wasn't enabled.
2696+
2697+
### Error definition
2698+
2699+
HTTP Code: `400 Bad Request`
2700+
2701+
```json
2702+
{
2703+
"message": "{:action} requires enabling the `{:featureName}` experimental feature. See {:productDiscussion}",
2704+
"code": "feature_not_enabled",
2705+
"type": "invalid_request",
2706+
"link": "https://docs.meilisearch.com/errors#feature_not_enabled"
2707+
}
2708+
```
2709+
2710+
- `:action` is the action that is not permitted without enabling the feature, e.g. "Getting the metrics"
2711+
- `:featureName` is the name of the feature that needs enabling, e.g. "Prometheus Metrics"
2712+
- `:productDiscussion` is the link to the product discussion that is tracking the feature
2713+
25152714
---
25162715

25172716
# internal type

text/0085-api-keys.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,8 @@ Create an API key.
335335
| keys.create | Provides access to `POST` `/keys` route. |
336336
| keys.update | Provides access to `PATCH` `/keys` routes. |
337337
| keys.delete | Provides access to `DELETE` `/keys` routes. |
338+
| experimental.get | Provides access to `GET` `/experimental-features` routes. |
339+
| experimental.update | Provides access to `PATCH` `/experimental-features` routes. |
338340

339341
###### 3.2.4.4.3. Response Definition
340342

0 commit comments

Comments
 (0)