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

Commit

Permalink
Release v1.7.0 (#263)
Browse files Browse the repository at this point in the history
* Bump version to v1.7

* Stabilize scoreDetails feature (#264)

* Stabilize scoreDetails feature

* Remove from telemetry and experimental features

---------

Co-authored-by: María <maria@Marias-MacBook-Pro.local>
Co-authored-by: Louis Dureuil <louis.dureuil@gmail.com>
  • Loading branch information
3 people authored Mar 11, 2024
1 parent 5e7c585 commit a1efc63
Show file tree
Hide file tree
Showing 7 changed files with 73 additions and 56 deletions.
62 changes: 44 additions & 18 deletions open-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ openapi: 3.1.0
info:
title: Meilisearch Core API
description: 'Search documents, configure and manage the Meilisearch engine.'
version: 1.6.0
version: 1.7.0
contact:
name: Meilisearch
email: bonjour@Meilisearch.com
Expand Down Expand Up @@ -134,10 +134,16 @@ components:
distance:
type: number
description: The distance between the target point and the geoPoint in the document
similarity:
type: number
description: |
the similarity score between the target vector and the value vector.
1.0 means a perfect similarity, 0.0 a perfect dissimilarity.
required:
- order
- value
description: Custom rule in the form of either `attribute:direction` or `_geoPoint(lat, lng):direction`.
description: Custom rule in the form of either `attribute:direction`, `vectorSort(vector)` or `_geoPoint(lat, lng):direction`.
score:
type: number
description: |
Expand All @@ -154,9 +160,10 @@ components:
$ref: '#/components/schemas/order'
matchingWords:
type: integer
description: the number of words from the query found
description: number of words in the query that match in the document. The higher the better.
maxMatchingWords:
type: integer
description: max number of words in the query that can match in the document for this iteration of the words ranking rule.
score:
$ref: '#/components/schemas/score'
required:
Expand Down Expand Up @@ -197,13 +204,13 @@ components:
properties:
order:
$ref: '#/components/schemas/order'
attribute_ranking_order_score:
attributeRankingOrderScore:
type: number
description: |
Score computed depending on the first attribute each word of the query appears in.
The first attribute in the `searchableAttributes` list yields the highest score, the last attribute the lowest.
query_word_distance_score:
queryWordDistanceScore:
type: number
description: |
Score computed depending on the position the attributes where each word of the query appears in.
Expand All @@ -214,8 +221,8 @@ components:
$ref: '#/components/schemas/score'
required:
- order
- attribute_ranking_order_score
- query_word_distance_score
- attributeRankingOrderScore
- queryWordDistanceScore
- score
exactness:
type: object
Expand All @@ -229,6 +236,14 @@ components:
- `exactMatch`: the document contains an attribute that exactly matches the query.
- `matchesStart`: the document contains an attribute that exactly starts with the query.
- `noExactMatch`: any other document.
matchingWords:
type: integer
description: |
for `noExactMatch`, the number of exact words contained in an attribute. The higher the better.
maxMatchingWords:
type: integer
description: |
for `noExactMatch`, the maximum number of exact words contained in an attribute
score:
$ref: '#/components/schemas/score'
required:
Expand All @@ -237,7 +252,7 @@ components:
- score
additionalProperties:
$ref: '#/components/schemas/customRankingRuleDetails'
description: (EXPERIMENTAL) The ranking score per ranking rule.
description: The ranking score per ranking rule.
examples:
With sort:
words:
Expand Down Expand Up @@ -324,7 +339,7 @@ components:
description: Only present if showRankingScore = `true`. The ranking score of that document.
_rankingScoreDetails:
type: object
description: (EXPERIMENTAL) Only present if showRankingScoreDetails = `true`. The ranking score of each ranking rule for that document.
description: Only present if showRankingScoreDetails = `true`. The ranking score of each ranking rule for that document.
properties:
'':
$ref: '#/components/schemas/rankingScoreDetails'
Expand Down Expand Up @@ -952,7 +967,7 @@ components:
default: false
showRankingScoreDetails:
type: boolean
description: (EXPERIMENTAL) Defines whether a `_rankingScoreDetails` object containing information about the score of that document for each ranking rule should be returned or not.
description: Defines whether a `_rankingScoreDetails` object containing information about the score of that document for each ranking rule should be returned or not.
default: false
matchingStrategy:
type: string
Expand Down Expand Up @@ -4402,16 +4417,20 @@ paths:
properties:
vectorStore:
type: boolean
scoreDetails:
metrics:
type: boolean
exportPuffinReports:
type: boolean
required:
- vectorStore
- scoreDetails
- metrics
- exportPuffinReports
examples:
Default status of the features:
value:
vectorStore: false
scoreDetails: false
metrics: true
exportPuffinReports: false
'401':
$ref: '#/components/responses/401'
patch:
Expand All @@ -4431,14 +4450,17 @@ paths:
properties:
vectorStore:
type: boolean
scoreDetails:
metrics:
type: boolean
exportPuffinReports:
type: boolean
additionalProperties: false
examples:
Example:
value:
vectorStore: true
scoreDetails: false
metrics: false
exportPuffinReports: false
responses:
'200':
description: Ok
Expand All @@ -4450,16 +4472,20 @@ paths:
properties:
vectorStore:
type: boolean
scoreDetails:
metrics:
type: boolean
exportPuffinReports:
type: boolean
required:
- vectorStore
- scoreDetails
- metrics
- exportPuffinReports
examples:
Updated status of the feature:
value:
vectorStore: true
scoreDetails: false
metrics: false
exportPuffinReports: false
'401':
$ref: '#/components/responses/401'
/metrics:
Expand Down
9 changes: 7 additions & 2 deletions text/0034-telemetry-policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,10 @@ The collected data is sent to [Segment](https://segment.com/). Segment is a plat
| `infos.with_configuration_file` | `true` if the instance is launched with a configuration file, otherwise `false` | false | Every Hour |
| `infos.task_queue_webhook` | `true` if the instance is launched with a task queue webhook, otherwise `false` | false | Every Hour |
| `infos.experimental_enable_metrics` | `true` if `--experimental-enable-metrics`/`MEILI_EXPERIMENTAL_ENABLE_METRICS` is specified at launch, otherwise `false` | `false` | Every Hour |
| `infos.experimental_logs_mode` | `human` or `json` depending on the value specified. | `human` | Every Hour |
| `infos.experimental_enable_logs_route` | `true` if `--experimental-enable-logs-route`/`MEILI_EXPERIMENTAL_ENABLE_LOGS_ROUTE` is specified at launch, otherwise `false` | `false` | Every Hour |
| `infos.experimental_reduce_indexing_memory_usage` | `true` if `--experimental-reduce-indexing-memory-usage`/`MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE` is specified at launch, otherwise `false` | `false` | Every Hour |
| `infos.gpu_enabled` | `true` if Meilisearch was compiled with CUDA support, otherwise `false` | `false` | Every Hour |
| `system.distribution` | Distribution on which MeiliSearch is launched | Arch Linux | Every hour |
| `system.kernel_version` | Kernel version on which MeiliSearch is launched | 5.14.10 | Every hour |
| `system.cores` | Number of cores | 24 | Every hour |
Expand Down Expand Up @@ -205,7 +208,6 @@ The collected data is sent to [Segment](https://segment.com/). Segment is a plat
| `per_filter`| `true` if `POST /indexes/:indexUid/documents/delete` endpoint was used in this batch, otherwise `false` | false | `Documents Fetched GET`, `Documents Fetched POST`, `Documents Deleted` |
| `clear_all` | `true` if `DELETE /indexes/:indexUid/documents` endpoint was used in this batch, otherwise `false` | false | `Documents Deleted` |
| vector_store | Whether the [vector store](./0193-experimental-features.md#vector-store) feature is enabled. | `true` | `Experimental features Updated` |
| score_details | Whether the [score details](./0193-experimental-features.md#score-details) feature is enabled. | `true` | `Experimental features Updated` |
| scoring.show_ranking_score | Was `showRankingScore` used in the aggregated event? If yes, `true`, otherwise `false` | `false` | `Documents Searched POST`, `Documents Searched GET`, `Documents Searched by Multi-Search POST` |
| scoring.show_ranking_score_details | Was `showRankingScoreDetails` used in the aggregated event? If yes, `true`, otherwise `false` | `false` | `Documents Searched POST`, `Documents Searched GET`, `Documents Searched GET` |
| `facets.total_distinct_facet_count` | The total number of distinct facets queried for the aggregated event | `3` | `Facet Searched POST` |
Expand Down Expand Up @@ -260,6 +262,10 @@ This property allows us to gather essential information to better understand on
| infos.with_configuration_file | `true` if the instance is launched with a configuration file, otherwise `false` | `false` |
| infos.task_queue_webhook | `true` if the instance is launched with a task queue webhook, otherwise `false` | `false` |
| infos.experimental_enable_metrics | `true` if `--experimental-enable-metrics`/`MEILI_EXPERIMENTAL_ENABLE_METRICS` is specified at launch, otherwise `false` | `false` |
| infos.experimental_logs_mode | `human` or `json` depending on the value specified. | `human` |
| infos.experimental_enable_logs_route | `true` if `--experimental-enable-logs-route`/`MEILI_EXPERIMENTAL_ENABLE_LOGS_ROUTE` is specified at launch, otherwise `false` | `false` |
| `infos.experimental_reduce_indexing_memory_usage` | `true` if `--experimental-reduce-indexing-memory-usage`/`MEILI_EXPERIMENTAL_REDUCE_INDEXING_MEMORY_USAGE` is specified at launch, otherwise `false` | `false` |
| `infos.gpu_enabled` | `true` if Meilisearch was compiled with CUDA support, otherwise `false` | `false` |

##### MeiliSearch Statistics `stats`

Expand Down Expand Up @@ -740,7 +746,6 @@ This property allows us to gather essential information to better understand on
|---------------|-------------|---------|
| user_agent | Represents the user-agent encountered on this call. | `["Meilisearch Ruby (v2.1)", "Ruby (3.0)"]` |
| vector_store | Whether the [vector store](./0193-experimental-features.md#vector-store) feature is enabled. | `true` |
| score_details | Whether the [score details](./0193-experimental-features.md#score-details) feature is enabled. | `true` |


---
Expand Down
5 changes: 1 addition & 4 deletions text/0118-search-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -910,16 +910,13 @@ Adds a [`_rankingScore`](#32114-rankingscore) number to each document in the sea

#### 3.1.18. `showRankingScoreDetails`

(EXPERIMENTAL)

- Type: Object
- Required: False
- Default: `false`

Adds a [`_rankingScoreDetails`](#32115-rankingscoredetails) object to each document in the search response, containing information about the score of that document for each applied ranking rule.

- 🔴 Sending a value with a different type than `Boolean` or `null` for `showRankingScoreDetails` returns an [invalid_search_ranking_score_details](0061-error-format-and-definitions.md#invalid_search_show_ranking_score_details) error.
- 🔴 Using that field while the [`score details`](./0193-experimental-features.md#score-details) experimental feature has not been enabled returns a [feature_not_enabled](0061-error-format-and-definitions.md#feature_not_enabled) error.

#### 3.1.19. `matchingStrategy`

Expand Down Expand Up @@ -1228,7 +1225,7 @@ The relevancy score of a document relative to the search query. Higher is better
- Type: Object
- Required: False

(EXPERIMENTAL) The ranking score of a document per each ranking rule and relative to the search query.
The ranking score of a document per each ranking rule and relative to the search query.

This object features one field for each applied ranking rule, whose values are an object with at least the field `order` indicating in which order this ranking rule has been applied.

Expand Down
12 changes: 12 additions & 0 deletions text/0119-instance-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,18 @@ Activate the `/metrics` endpoint to collect Meilisearch metrics for monitoring p

Enables the `MDB_WRITEMAP` option of LMDB, making the internal key-value store use much less RAM than usual.

#### 3.3.28. Experimental Logs Mode

**Environment variable**: `MEILI_EXPERIMENTAL_LOGS_MODE`
**CLI option**: `--experimental-logs-mode`
**Default**: `human`

Lets you customize the mode in which meilisearch should output its logs.
Only two values are possible:
- `human` => The default one; it's easy to read for a human
- `json` => It's better if you're going to send your logs to a log storage software


#### 3.3.29. Task webhook url

**Environment variable**: `MEILI_TASK_WEBHOOK_URL`
Expand Down
27 changes: 3 additions & 24 deletions text/0193-experimental-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ To enable instance experimental features, pass their associated command line fla
|------------|-----------------|-----------|-------------------------|-----------------------------------|------------------|
|Prometheus Metrics|`--experimental-enable-metrics`|The `/metrics` endpoint exposes metrics to be scraped by a Prometheus collector at regular intervals and stored for analysis.|We have yet to determine which metrics we want to expose and how|TBC|<https://github.com/meilisearch/product/discussions/625>|
|Reduce Indexing Memory Usage|`--experimental-reduce-indexing-memory-usage`|Trades-off indexing speed with a lower RAM footprint.|We have yet to determine if a lot impacts performance and whether the RAM usage reduction is significant enough.|TBC|<https://github.com/meilisearch/product/discussions/652>|
|Enable logs route|`--experimental-enable-logs-route`|The `/logs/*` endpoints exposes ways to retrieves and customizes logs.|TBC|<https://github.com/orgs/meilisearch/discussions/721>|
|Change logs mode|`--experimental-logs-mode json`|The CLI flags takes a parameter, either `json` or `human` that will change the way we output the logs to the console. `human` is used by default.|TBC|<https://github.com/orgs/meilisearch/discussions/723>|


## 3.2. Runtime experimental features
Expand Down Expand Up @@ -59,29 +61,6 @@ curl \

<https://github.com/meilisearch/product/discussions/677>

</td>
</tr>
<tr>
<td><a id="user-content-score-details" class="anchor" aria-hidden="true" href="#score-details">score details</a></td>
<td><!-- The newline below is required for the markdown to be rendered by GitHub -->

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

</td><!-- The newline above + starting from column 0 are required for the markdown to be rendered by GitHub -->
<td>Enables computing detailed scores</td>
<td>Confidence on the computed details names</td>
<td>v1.4</td>
<td>

<https://github.com/meilisearch/product/discussions/674>

</td>
</tr>
</tbody>
Expand All @@ -95,4 +74,4 @@ N/A

## 5. Future Possibilities

N/A
N/A
1 change: 0 additions & 1 deletion text/0194-experimental-feature-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ This response is a JSON object containing the following fields:

|Field name|Type|Experimental feature|
|----------|----|-----|
|`scoreDetails`|Boolean| [Score details](./0193-experimental-features.md#score-details) |
|`vectorStore`|Boolean| [Vector store](./0193-experimental-features.md#vector-store) |

The PATCH routes accept as payload a JSON object containing the same fields as in the response, with the following effects on the corresponding feature:
Expand Down
Loading

0 comments on commit a1efc63

Please sign in to comment.