3a3414270d
Merge #3952
...
3952: Use the new safe `read-txn-no-tls` heed feature r=ManyTheFish a=Kerollmops
[We recently found out](https://github.com/meilisearch/heed/issues/191#issuecomment-1650280513 ) that the `read-sync-txn` heed feature was invalid and must be removed from this crate. We were declaring it in milli/meilisearch but, fortunately, not sharing the `RoTxn`s across threads đźâđš
[I recently introduced the `read-txn-no-tls` heed feature](https://github.com/meilisearch/heed/pull/194 ), which implements `RoTxn: Send` and allows multiple read transactions on a single thread (which we use).
This PR removes the `sync-read-txn` heed feature from the _Cargo.toml_ file. I will fix this in heed v0.20.0 and will fill a RustSec advisory in the meantime.
Co-authored-by: Clément Renault <clement@meilisearch.com >
2023-07-26 16:40:58 +00:00
939b2fc6fd
Merge #3949
...
3949: Fix score details casing r=Kerollmops a=ManyTheFish
# Pull Request
Fixes #3941
Co-authored-by: ManyTheFish <many@meilisearch.com >
2023-07-26 14:14:59 +00:00
d8b47b689e
Use the new read-txn-no-tls heed feature
2023-07-26 15:45:15 +02:00
be72be7c0d
Merge #3942
...
3942: Normalize for the search the facets values r=ManyTheFish a=Kerollmops
This PR improves and fixes the search for facet values feature. Searching for _bre_ wasn't returning facet values like _brévent_ or _brÎ_.
The issue was related to the fact that facets are normalized but not in the same way as the `searchableAttributes` are. We decided to normalize them further and add another intermediate database where the key is the normalized facet value, and the value is a set of the non-normalized facets. We then use these non-normalized ones to get the correct counts by fetching the associated databases.
### What's missing in this PR?
- [x] Apply the change to the whole set of `SearchForFacetValue::execute` conditions.
- [x] Factorize the code that does an intermediate normalized value fetch in a function.
- [x] Add or modify the search for facet value test.
Co-authored-by: Clément Renault <clement@meilisearch.com >
Co-authored-by: Kerollmops <clement@meilisearch.com >
2023-07-25 14:37:17 +00:00
88559a2d54
Fix score details casing
2023-07-25 15:49:33 +02:00
29ab54b259
Replace the hnsw crate by the instant-distance one
2023-07-25 12:37:35 +02:00
691a536893
Implement the facet search with the normalized index
2023-07-24 17:56:17 +02:00
df528b41d8
Normalize for the search the facets values
2023-07-20 17:57:07 +02:00
0497f93494
Update Charabia to the last version
2023-07-19 15:19:32 +02:00
d383afc82b
Fix the geo sort when lat and lng are strings
2023-07-17 18:28:04 +02:00
7745cc9d3c
Merge #3921
...
3921: Deactivate camel case segmentation r=dureuill a=ManyTheFish
# Pull Request
This PR deactivates the camel case segmentation to retrieve the possibility to accept typos over camel-cased words
## Related issue
Fixes #3869
Fixes #3818
## What does this PR do?
- deactivates camelcase segmentation
related to #3919
Co-authored-by: ManyTheFish <many@meilisearch.com >
2023-07-13 11:00:14 +00:00
c106906f8f
deactivate camelCase segmentation
2023-07-13 12:06:27 +02:00
4310928803
Fixes #3912
2023-07-12 10:08:56 +02:00
74315b4ea8
Fixes #3911
2023-07-12 10:08:29 +02:00
40fa59d64c
Sort by lexicographic order after normalization
2023-07-10 09:26:59 +02:00
55cd7738b9
Update snapshots
2023-07-04 16:31:01 +02:00
48409c9183
Add missing exactness.matchingWords, exactness.maxMatchingWords
2023-07-04 16:31:01 +02:00
a442af6a7c
Update the features of the either dependency to compile milli successfully
2023-07-03 18:51:43 +02:00
324d448236
Format let-else â€ïž đ
2023-07-03 10:20:28 +02:00
661d1f90dc
Merge #3866
...
3866: Update charabia v0.8.0 r=dureuill a=ManyTheFish
# Pull Request
Update Charabia:
- enhance Japanese segmentation
- enhance Latin Tokenization
- words containing `_` are now properly segmented into several words
- brackets `{([])}` are no more considered as context separators so word separated by brackets are now considered near together for the proximity ranking rule
- fixes #3815
- fixes #3778
- fixes [product#151](https://github.com/meilisearch/product/discussions/151 )
> Important note: now the float numbers are segmented around the `.` so `3.22` is segmented as [`3`, `.`, `22`] but the middle dot isn't considered as a hard separator, which means that if we search `3.22` we find documents containing `3.22`
Co-authored-by: ManyTheFish <many@meilisearch.com >
2023-06-29 15:24:36 +00:00
6ec7541026
Update inta snapshots
2023-06-29 17:18:39 +02:00
a82c49ab08
Update test
2023-06-29 15:56:36 +02:00
84845de9ef
Update Charabia
2023-06-29 15:56:32 +02:00
7c157fc442
Document that the LevelEntry fields order is important
2023-06-29 14:33:32 +02:00
0b97596c93
Replace unwraps with ?
2023-06-29 14:33:32 +02:00
a0e0fce677
Simplify a Rust lifetime trick
2023-06-29 14:33:32 +02:00
b951830461
Add more tests
2023-06-29 14:33:32 +02:00
b132e859f7
Make clippy happy
2023-06-29 14:33:31 +02:00
9917bf046a
Move the sortFacetValuesBy in the faceting settings
2023-06-29 14:33:31 +02:00
d9fea0143f
Make Clippy happy
2023-06-29 14:33:31 +02:00
a385642ec3
Replace the BTreeMap by an IndexMap to return values in order
2023-06-29 14:33:31 +02:00
34b2e98fe9
Expose a sortFacetValuesBy parameter to the user
2023-06-29 14:33:00 +02:00
80bbd4b6f3
Clean and make the facet order configurable internally
2023-06-29 14:31:17 +02:00
f42bef2f66
Make the search to always return the facets ordered by count
2023-06-29 14:31:17 +02:00
bd3c026406
First to-test version of the algorithm
2023-06-29 14:31:17 +02:00
84f8938f33
Rename facet distribution to be explicit on the order to find them
2023-06-29 14:31:15 +02:00
efbe7ce78b
Clean the facet string FSTs when we clear the documents
2023-06-28 15:36:32 +02:00
26f0fa678d
Change the error message when a facet is not searchable
2023-06-28 15:06:09 +02:00
60ddd53439
Return one of the original facet values when doing a facet search
2023-06-28 15:06:09 +02:00
2bcd8d2983
Make sure the facet queries are normalized
2023-06-28 15:06:09 +02:00
41760a9306
Introduce a new invalid_facet_search_facet_name error code
2023-06-28 15:06:07 +02:00
e9a3029c30
Use the right field id to write the string facet values FST
2023-06-28 15:01:51 +02:00
ed0ff47551
Return an empty list of results if attribute is set as filterable
2023-06-28 15:01:51 +02:00
e1b8fb48ee
Use the minWordSizeForTypos index settings
2023-06-28 15:01:51 +02:00
87e22e436a
Fix compilation issues
2023-06-28 15:01:51 +02:00
0252cfe8b6
Simplify the placeholder search of the facet-search route
2023-06-28 15:01:50 +02:00
f35ad96afa
Use the disableOnAttributes parameter on the facet-search route
2023-06-28 15:01:50 +02:00
2ceb781c73
Use the disableOnWords parameter on the facet-search route
2023-06-28 15:01:50 +02:00
7bd67543dd
Support the typoTolerant.enabled parameter
2023-06-28 15:01:50 +02:00
8e86eb91bb
Log an error when a facet value is missing from the database
2023-06-28 15:01:50 +02:00