4e266211bf
Small code reorganisation
2023-03-20 09:41:56 +01:00
57fa689131
Cargo fmt
2023-03-20 09:41:56 +01:00
10626dddfc
Add a few more optimisations to new search algorithms
2023-03-20 09:41:56 +01:00
9051065c22
Apply a few optimisations for graph-based ranking rules
2023-03-20 09:41:56 +01:00
e8c76cf7bf
Intern all strings and phrases in the search logic
2023-03-20 09:41:56 +01:00
3f1729a17f
Update new search test
2023-03-20 09:41:56 +01:00
cab2b6bcda
Fix: computation of initial universe, code organisation
2023-03-20 09:41:56 +01:00
c4979a2fda
Fix code visibility issue + unimplemented detail in proximity rule
2023-03-20 09:41:56 +01:00
23931f8a4f
Fix small bug in visual logger of search algo
2023-03-20 09:41:56 +01:00
aa414565bb
Fix proximity graph edge builder to include all proximities
2023-03-20 09:41:56 +01:00
1db152046e
WIP on split words and synonyms support
2023-03-20 09:41:56 +01:00
c27ea2677f
Rewrite cheapest path algorithm and empty path cache
...
It is now much simpler and has much better performance.
2023-03-20 09:41:56 +01:00
caa1e1b923
Add typo ranking rule to new search impl
2023-03-20 09:41:56 +01:00
71f18e4379
Add sort ranking rule to new search impl
2023-03-20 09:41:56 +01:00
600e3dd1c5
Remove warnings
2023-03-20 09:41:56 +01:00
362eb0de86
Add support for filters
2023-03-20 09:41:56 +01:00
998d46ac10
Add support for search offset and limit
2023-03-20 09:41:56 +01:00
6c85c0d95e
Fix more bugs + visual empty path cache logging
2023-03-20 09:41:56 +01:00
0e1fbbf7c6
Fix bugs in query graph's "remove word" and "cheapest paths" algos
2023-03-20 09:41:56 +01:00
6806640ef0
Fix d2 description of paths map
2023-03-20 09:41:56 +01:00
173e37584c
Improve the visual/detailed search logger
2023-03-20 09:41:55 +01:00
6ba4d5e987
Add a search logger
2023-03-20 09:41:55 +01:00
dd12d44134
Support swapped word pairs in new proximity ranking rule impl
2023-03-20 09:41:55 +01:00
a61495d660
Update Cargo.toml (commit to be deleted later)
2023-03-20 09:41:55 +01:00
c8e251bf24
Remove noise in codebase
2023-03-20 09:41:55 +01:00
a938fbde4a
Use a cache when resolving the query graph
2023-03-20 09:41:55 +01:00
dcf3f1d18a
Remove EdgeIndex and NodeIndex types, prefer u32 instead
2023-03-20 09:41:55 +01:00
66d0c63694
Add some documentation and use bitmaps instead of hashmaps when possible
2023-03-20 09:41:55 +01:00
132191360b
Introduce the sort ranking rule working with the new search structures
2023-03-20 09:41:55 +01:00
345c99d5bd
Introduce the words ranking rule working with the new search structures
2023-03-20 09:41:55 +01:00
89d696c1e3
Introduce the proximity ranking rule as a graph-based ranking rule
2023-03-20 09:41:55 +01:00
c645853529
Introduce a generic graph-based ranking rule
2023-03-20 09:41:55 +01:00
a70ab8b072
Introduce a function to find the K shortest paths in a graph
2023-03-20 09:41:55 +01:00
48aae76b15
Introduce a function to find the docids of a set of paths in a graph
2023-03-20 09:41:55 +01:00
23bf572dea
Introduce cache structures used with ranking rule graphs
2023-03-20 09:41:55 +01:00
864f6410ed
Introduce a structure to represent a set of graph paths efficiently
2023-03-20 09:41:55 +01:00
c9bf6bb2fa
Introduce a structure to implement ranking rules with graph algorithms
2023-03-20 09:41:55 +01:00
46249ea901
Implement a function to find a QueryGraph's docids
2023-03-20 09:41:55 +01:00
ce0d1e0e13
Introduce a common way to manage the coordination between ranking rules
2023-03-20 09:41:55 +01:00
5065d8b0c1
Introduce a DatabaseCache to memorize the addresses of LMDB values
2023-03-20 09:41:55 +01:00
a83007c013
Introduce structure to represent search queries as graphs
2023-03-20 09:41:55 +01:00
79e0a6dd4e
Introduce a new search module, eventually meant to replace the old one
...
The code here does not compile, because I am merely splitting one giant
commit into smaller ones where each commit explains a single file.
2023-03-20 09:41:55 +01:00
2d88089129
Remove unused term matching strategies
2023-03-20 09:41:55 +01:00
1d937f831b
Temporarily remove codegen-units - 1
2023-03-20 09:41:55 +01:00
6c659dc12f
Use MiMalloc in milli tests
2023-03-20 09:41:37 +01:00
70c906d4b4
Merge #3576
...
3576: Add boolean support for csv documents r=irevoire a=irevoire
Fixes https://github.com/meilisearch/meilisearch/issues/3572
## What does this PR do?
Add support for the boolean types in csv documents.
The type definition is `boolean` and the possible values are
- `true` for true
- `false` for false
- ` ` for null
Here is an example:
```csv
#id,cute:boolean
0,true
1,false
2,
```
Co-authored-by: Tamo <tamo@meilisearch.com >
2023-03-14 12:28:12 +00:00
0f33a65468
makes kero happy
2023-03-13 16:51:11 +01:00
7c9a8b1e1b
Merge #3587
...
3587: Enable cache again in test suite CI r=curquiza a=curquiza
Following the change in this PR introduced in v1.1: https://github.com/meilisearch/meilisearch/pull/3422
The cache was removed due to failures (lack of space). Now the binary is smaller (from 250Mb to 50Mb) we want to try to enable the cache again.
Indeed, without the cache step, the CIs are wayyyy slower (45min instead of 20-30min).
For later: Rust 1.68 introduced a new way to fetch crates. Updating the rust version might also help in the future!
Co-authored-by: curquiza <clementine@meilisearch.com >
2023-03-13 13:51:32 +00:00
f45daf8031
Enable cache again in test suite CI
2023-03-13 14:24:15 +01:00
7935bef4cd
Merge #3567
...
3567: Clean CI file names r=curquiza a=curquiza
Make the CI names more consistent to ease the Gillian's onboarding 😇
No impact for the users or the developers of the team
Co-authored-by: curquiza <clementine@meilisearch.com >
2023-03-09 12:20:18 +00:00