MeiliSearch/milli/src
meili-bors[bot] b1844b0c27
Merge #4548
4548: v1.8 hybrid search changes r=dureuill a=dureuill

Implements the search changes from the [usage page](https://meilisearch.notion.site/v1-8-AI-search-API-usage-135552d6e85a4a52bc7109be82aeca42#40f24df3da694428a39cc8043c9cfc64)

### ⚠️ Breaking changes in an experimental feature:

- Removed the `_semanticScore`. Use the `_rankingScore` instead.
- Removed `vector` in the response of the search (output was too big).
- Removed all the vectors from the `vectorSort` ranking score details
  - target vector appearing in the name of the rule
  - matched vector appearing in the details of the rule

### Other user-facing changes

- Added `semanticHitCount`, indicating how many hits were returned from the semantic search. This is especially useful in the hybrid search.
- Embed lazily: Meilisearch no longer generates an embedding when the keyword results are "good enough".
- Graceful embedding failure in hybrid search: when doing hybrid search (`semanticRatio in ]0.0, 1.0[`), an embedding failure no longer causes the search request to fail. Instead, only the keyword search is performed. When doing a full vector search (`semanticRatio==1.0`), a failure to embed will still result in failing that search.

Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-04-04 16:00:20 +00:00
..
documents Add tracing to milli 2024-02-08 15:03:31 +01:00
facet update milli with the new parser_filter 2021-11-04 15:02:36 +01:00
heed_codec Clarify an unreachable unwrap 2023-11-28 14:26:31 +01:00
prompt Remove prompt strategy and fallback 2023-12-14 16:08:41 +01:00
search Add semanticHitCount 2024-04-04 16:04:06 +02:00
snapshots/index.rs Fix tests 2023-06-14 13:30:52 +02:00
update Fix test 2024-04-04 15:58:19 +02:00
vector Merge #4548 2024-04-04 16:00:20 +00:00
asc_desc.rs fmt 2023-03-30 23:37:26 +02:00
criterion.rs update the syntax of the geoboundingbox filter to uses brackets instead of parens around lat and lng 2023-02-06 16:50:27 +01:00
error.rs Correct error formatting 2024-04-04 15:58:19 +02:00
external_documents_ids.rs Make clippy happy 2023-11-23 14:11:38 +01:00
fields_ids_map.rs Rename trait 2023-11-13 13:38:36 +01:00
index.rs Lazily embed, don't fail hybrid search on embedding failure 2024-04-04 15:58:17 +02:00
lib.rs Lazily embed, don't fail hybrid search on embedding failure 2024-04-04 15:58:17 +02:00
order_by_map.rs Revert "Revert "Merge remote-tracking branch 'origin/main' into release-v1.7.1"" 2024-03-20 10:08:28 +01:00
proximity.rs Change the naming of attributeScale and wordScale into byAttribute and byWord 2023-12-14 16:31:00 +01:00
score_details.rs Breaking change: remove vector for score details 2024-04-04 15:57:29 +02:00
snapshot_tests.rs Update tests 2023-11-13 13:36:39 +01:00