This commit is a fix to issue #1750.
As a part of the changes to solve this issue, the following changes have
been made -
1. Route registration for static assets has been modified
2. the `mut` keyword on the `scope` has been removed.
380: Reserved keyword error message r=Kerollmops a=irevoire
And I missed _another_ reserved keyword error message in the filter :(
Co-authored-by: Tamo <tamo@meilisearch.com>
1747: Add new error types for document additions r=curquiza a=MarinPostma
Adds the missing errors for the documents routes, as specified.
close#1691close#1690
Co-authored-by: mpostma <postma.marin@protonmail.com>
1746: Do not commit transaction on failed updates r=irevoire a=Kerollmops
This PR fixes MeiliSearch that was always committing the transactions even when an update was invalid and the whole transaction should have been trashed. It was the source of a bug where an invalid update (with an invalid primary key) was creating an index with the specified primary key and should instead have failed and done nothing on the server.
Fixes#1735.
Co-authored-by: Kerollmops <clement@meilisearch.com>
1742: Create dumps v3 r=irevoire a=MarinPostma
The introduction of the obkv document format has changed the format of the updates, by removing the need for the document format of the addition (it is not necessary since update are store in the obkv format). This has caused breakage in the dumps that this pr solves by introducing a 3rd version of the dumps.
A v2 compat layer has been created that support the import of v2 dumps into meilisearch. This has permitted to move the compat code that existed elsewhere in meiliearch to be moved into the v2 module. The asc/desc patching is now only done for forward compatibility when loading a v2 dump, and the v3 write the asc/desc to the dump with the new syntax.
Co-authored-by: mpostma <postma.marin@protonmail.com>
1697: Make exec binary for M1 mac available for download r=irevoire a=k-nasa
## Why
fix: https://github.com/meilisearch/MeiliSearch/issues/1661
Now, Do not supported getting exec file for m1 mac on using`download-latest.sh`.
## What
Download x86 binary when run `download-latest.sh` on m1 mac, because it can execute binary targeting x86.
## Proof
I verified like this.
I got executable binary on M1 mac 💡
```sh
:) % arch
arm64
:) % ./download-latest.sh
Downloading MeiliSearch binary v0.21.1 for macos, architecture amd64...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 631 100 631 0 0 2035 0 --:--:-- --:--:-- --:--:-- 2035
100 43.5M 100 43.5M 0 0 7826k 0 0:00:05 0:00:05 --:--:-- 9123k
MeiliSearch binary successfully downloaded as 'meilisearch' file.
Run it:
$ ./meilisearch
Usage:
$ ./meilisearch --help
:) % file ./meilisearch
./meilisearch: Mach-O 64-bit executable x86_64
:) % ./meilisearch --help # this is execuable
meilisearch-http 0.21.1
...
...
```
Co-authored-by: k-nasa <htilcs1115@gmail.com>
Co-authored-by: nasa <htilcs1115@gmail.com>
1748: Add a link to join the cloud-hosted beta r=MarinPostma a=gmourier
The product team would like to add a link to communicate and invite users to fill out the form to test the closed beta of our cloud solution.
We have done the same thing on the documentation side https://github.com/meilisearch/documentation/pull/1148. 😇
Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com>
1739: Fix add document Content-Type r=curquiza a=MarinPostma
change the `Content-Type` guards of the document addition routes to match the specification.
Co-authored-by: mpostma <postma.marin@protonmail.com>
1711: MeiliSearch refactor introducing OBKV format r=MarinPostma a=MarinPostma
This PR refactor some multiple components of meilisearch, and introduce the obkv document format to meilisearch
- [x] Split meilisearch-http and meilisearch-lib
- [x] Replace `IndexActor` and `UuidResolver` with `IndexResolver`
- [x] Remove mentions to Actor
- [x] Remove Actor traits to simplify code
- [x] Integrate obkv document format
- [x] Remove `Data`
- [x] Restore all route
- [x] Replace `Box<dyn error>` with `anyhow::Error`
- [x] Introduce update file store
- [x] Update file store error handling
- [x] Fix dumps
- [x] Fix snapshots
- [x] Fix tests
- [x] Update module documentation
- [x] add csv suppport (feat `@ManyTheFish` #1729 )
- [x] add jsonl support
- [x] integrate geosearch (feat `@irevoire` #1725)
partially implements #1691 and #1690. The error handling is very basic now, I will finish it in the next pr.
Some unit tests have been disabled, I will re-enable them ASAP, but they need a bit more work.
close#1531
P.S: sorry for this monstrous PR :'(
Co-authored-by: mpostma <postma.marin@protonmail.com>
Co-authored-by: Tamo <tamo@meilisearch.com>
Co-authored-by: many <maxime@meilisearch.com>
379: Revert "Change chunk size to 4MiB to fit more the end user usage" r=curquiza a=ManyTheFish
Reverts meilisearch/milli#370
Co-authored-by: Many <legendre.maxime.isn@gmail.com>
378: Hotfix meilisearch#1707 r=Kerollmops a=ManyTheFish
This PR contains an ugly quick fix of [meilisearch#1707](https://github.com/meilisearch/MeiliSearch/issues/1707).
- remove comparison reverse on rank. Enhancing relevancy and performances
- iterate over level 0 only. Enhancing performances.
A better fix is in development.
Co-authored-by: many <maxime@meilisearch.com>
Co-authored-by: Many <legendre.maxime.isn@gmail.com>
374: Enhance CSV document parsing r=Kerollmops a=ManyTheFish
Benchmarks on `search_songs` were crashing because of the CSV parsing.
Co-authored-by: many <maxime@meilisearch.com>
376: Stop casting integer docids to string r=Kerollmops a=irevoire
When a docid is an integer, we stop casting it to a string, and thus we don't add `"` around it.
Co-authored-by: Tamo <tamo@meilisearch.com>