Commit Graph

864 Commits

Author SHA1 Message Date
bors[bot] 7e2f6063ae
Merge #2099 #2108
2099: feat(analytics): Set the timestamp of the aggregated event as the first aggregate r=MarinPostma a=irevoire



2108: meta(auth): Enhance tests on authorization r=MarinPostma a=ManyTheFish

Enhance auth tests in order to be able to add new actions without changing tests.

Helping #2080 

Co-authored-by: Tamo <tamo@meilisearch.com>
Co-authored-by: ManyTheFish <many@meilisearch.com>
2022-01-24 15:13:01 +00:00
ManyTheFish 2b766a2f26 meta(auth): Enhance tests on authorization
Enhance auth tests in order to be able to add new action without changing tests
2022-01-24 15:35:39 +01:00
bors[bot] 8ae504bfb0
Merge #2101
2101: chore(all): update actix-web dependency to 4.0.0-beta.21 r=MarinPostma a=robjtede

# Pull Request

## What does this PR do?
I don't expect any more breaking changes to Actix Web that will affect Meilisearch so bump to latest beta.

Fixes #N/A?
<!-- Please link the issue you're trying to fix with this PR, if none then please create an issue first. -->

## PR checklist
Please check if your PR fulfills the following requirements:
- [ ] Does this PR fix an existing issue?
- [x] Have you read the contributing guidelines?
- [x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to MeiliSearch!


Co-authored-by: Rob Ede <robjtede@icloud.com>
2022-01-24 14:33:46 +00:00
bors[bot] 1be3a1e945
Merge #2075
2075: Allow payloads with no documents  r=irevoire a=MarinPostma

accept addition with 0 documents.

0 bytes payload are still refused, since they are not valid json/jsonlines/csv anyways...

close #1987


Co-authored-by: mpostma <postma.marin@protonmail.com>
2022-01-24 12:55:29 +00:00
Rob Ede 9f5fee404b
chore(all): update actix-web dependency to 4.0.0-beta.21 2022-01-21 20:44:17 +00:00
Tamo 40bf98711c
feat(analytics): Set the timestamp of the aggregated event as the first aggregate 2022-01-20 19:08:57 +01:00
bors[bot] f9f075bca2
Merge #2068
2068: chore(http): migrate from structopt to clap3 r=Kerollmops a=MarinPostma

migrate from structopt to clap3

This fix the long lasting issue with flags require a value, such as `--no-analytics` or `--schedule-snapshot`.

All flag arguments now take NO argument, i.e:
`meilisearch --schedule-snapshot true` becomes `meilisearch --schedule-snapshot`

as per https://docs.rs/clap/latest/clap/struct.Arg.html#method.env, the env variable is defines as:
> A false literal is n, no, f, false, off or 0. An absent environment variable will also be considered as false. Anything else will considered as true.

`@gmourier` 
`@curquiza` 
`@meilisearch/docs-team` 

Co-authored-by: mpostma <postma.marin@protonmail.com>
2022-01-20 10:59:44 +00:00
mpostma 0c1a3d59eb fix no-analytics 2022-01-20 11:50:24 +01:00
Tamo 436f61a7f4
chore: bump meilisearch 2022-01-18 12:27:15 +01:00
Tamo 3fab5869fa
chore: bump milli 2022-01-18 11:50:17 +01:00
mpostma 0515c6e844
bug(http): fix task duration 2022-01-13 16:41:07 +01:00
mpostma d263f762bf feat(http): accept empty document additions
wip
2022-01-13 12:46:56 +01:00
bors[bot] 010dcc3e80
Merge #2066
2066: bug(http): fix task duration r=MarinPostma a=MarinPostma

`@gmourier` found that the duration in the task view was not computed correctly, this pr fixes it.

`@curquiza,` I let you decide if we need to make a hotfix out of this or wait for the next release. This is not breaking.


Co-authored-by: mpostma <postma.marin@protonmail.com>
2022-01-12 14:50:58 +00:00
bors[bot] d0aa5f747c
Merge #2067
2067: chore(all): fix rust edition r=irevoire a=MarinPostma

I hadn't correctly set the rust edition in my previous pr, and cargo was returning a warning. This time I followed this guide: https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html


Co-authored-by: mpostma <postma.marin@protonmail.com>
2022-01-12 13:32:42 +00:00
mpostma f6d53e03f1 chore(http): migrate from structopt to clap3 2022-01-12 14:07:19 +01:00
mpostma 3ecebd15ee chore(all): fix rust edition 2022-01-12 11:14:50 +01:00
mpostma db83e39a7f bug(http): fix task duration 2022-01-11 18:01:25 +01:00
bors[bot] 5d48f72ade
Merge #2065
2065: MeiliSearch v0.25.0: `stable` -> `main` r=curquiza a=curquiza



Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
Co-authored-by: Clément Renault <clement@meilisearch.com>
Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Co-authored-by: many <maxime@meilisearch.com>
Co-authored-by: Marin Postma <postma.marin@protonmail.com>
Co-authored-by: Maxime Legendre <maximelegendre@MacBook-Pro-de-Maxime.local>
Co-authored-by: Maxime Legendre <maximelegendre@mbp-de-maxime.home>
Co-authored-by: Tamo <tamo@meilisearch.com>
Co-authored-by: ManyTheFish <many@meilisearch.com>
2022-01-11 16:30:22 +00:00
Morgane Dubus b17ad5c2be
Update with latest release of the dashboard 2022-01-10 17:10:09 +01:00
Morgane Dubus 030a90523d
Update dashboard for v0.25.0 2022-01-10 10:50:57 +01:00
Marin Postma f558ff826a feat(http): task view indexed and deleted documents return 0 instead of null 2022-01-06 14:55:02 +01:00
Clémentine Urquizar 595250c93e
Allow any header for CORS 2022-01-05 15:38:47 +01:00
ManyTheFish c0d4f71a34 Bug(auth): Wrap key list in results 2022-01-04 14:10:30 +01:00
ManyTheFish 450b81ca13 Bug(CORS): Add missing allowed headers
fix #2040
2022-01-03 13:41:12 +01:00
Tamo d7df4d6b84
test: Ignore the auths tests on windows
Since the auths tests fail sporadically on the windows CI but we can't
reproduce these failures with a real windows machine we are going to
ignore theses one.
But we still ensure they compile.
2021-12-22 12:39:48 +01:00
Clémentine Urquizar f529c46598
Fix typo in error messages and comments 2021-12-21 16:01:38 +01:00
Maxime Legendre 37329e0784 Bug(auth): Parse YMD date
Use NaiveDate to parse YMD date instead of NaiveDatetime

fix #2017
2021-12-20 15:30:11 +01:00
Maxime Legendre a845cd8880 Fix(auth): Forbid index creation on alternates routes
Forbid index creation on alternates routes when the action `index.create` is not given

fix #2024
2021-12-20 14:48:18 +01:00
bors[bot] 845d3114ea
Merge #2008
2008: bug(lib): fix get dumps bad error code r=curquiza a=MarinPostma

fix bad error code being returned whet getting a dump status, and add a test
close #1994

Co-authored-by: Marin Postma <postma.marin@protonmail.com>
2021-12-15 18:58:17 +00:00
bors[bot] 287fa7ca74
Merge #2006 #2007
2006: chore(http): rename task types r=curquiza a=MarinPostma

Rename
- documentsAddition into documentAddition
- documentsPartial into documentPartial
- documentsDeletion into documentDeletion

close #1999


2007: bug(lib): ignore primary if already set on document addition r=curquiza a=MarinPostma

Ignore the primary key if it is already set on documents updates. Add a test for verify behaviour.

close #2002


Co-authored-by: Marin Postma <postma.marin@protonmail.com>
2021-12-15 16:55:40 +00:00
Marin Postma 80ed9654e1 chore(http): rename task types 2021-12-15 17:01:34 +01:00
Marin Postma 7ddab7ef31 bug(lib): fix get dumps bad error code 2021-12-15 16:58:05 +01:00
Marin Postma d534a7f7c8 bug(lib): ignore primary if already set on document addition 2021-12-15 14:58:37 +01:00
bors[bot] 5af51c852c
Merge #1989
1989: Extend API keys r=curquiza a=ManyTheFish

# Pull Request

## What does this PR do?

- Add API keys in snapshots
- Add API keys in dumps
- fix QA #1979

fix #1979
fix #1995
fix #2001
fix #2003

related to #1890

Co-authored-by: many <maxime@meilisearch.com>
2021-12-14 17:22:58 +00:00
many ee7970f603 feat(auth): Extend API keys
- Add API keys in snapshots
- Add API keys in dumps
- Rename action indexes.add to indexes.create
- fix QA #1979

fix #1979
fix #1995
fix #2001
fix #2003
related to #1890
2021-12-14 17:33:39 +01:00
Clément Renault 6ac2475aba
Fix the no-analytics flag in the tests 2021-12-08 12:02:18 +01:00
Clément Renault 47d5f659e0
Bump the structopt crate to 0.3.25 2021-12-08 11:24:40 +01:00
Clément Renault 8c9e51e94f
Make sure that we can also specify the no-analytics flags with a boolean 2021-12-08 11:23:21 +01:00
Clémentine Urquizar ae73386723
Update version for the next release (v0.25.0) 2021-12-07 14:00:43 +01:00
many ae2b0e7aa7
Use milli reexported tokenizer instead of importing meilisearch-tokenizer dependency 2021-12-06 17:18:28 +01:00
many ffefd0caf2
feat(auth): API keys
implements:
https://github.com/meilisearch/specifications/blob/develop/text/0085-api-keys.md

- Add tests on API keys management route (meilisearch-http/tests/auth/api_keys.rs)
- Add tests checking authorizations on each meilisearch routes (meilisearch-http/tests/auth/authorization.rs)
- Implement API keys management routes (meilisearch-http/src/routes/api_key.rs)
- Create module to manage API keys and authorizations (meilisearch-auth)
- Reimplement GuardedData to extend authorizations (meilisearch-http/src/extractors/authentication/mod.rs)
- Change X-MEILI-API-KEY by Authorization Bearer (meilisearch-http/src/extractors/authentication/mod.rs)
- Change meilisearch routes to fit to the new authorization feature (meilisearch-http/src/routes/)

- close #1867
2021-12-06 09:52:41 +01:00
Marin Postma a30e02c18c feat(all): Task store
implements:
https://github.com/meilisearch/specifications/blob/develop/text/0060-refashion-updates-apis.md

linked PR:

- #1889
- #1891
- #1892
- #1902
- #1906
- #1911
- #1914
- #1915
- #1916
- #1918
- #1924
- #1925
- #1926
- #1930
- #1936
- #1937
- #1942
- #1944
- #1945
- #1946
- #1947
- #1950
- #1951
- #1957
- #1959
- #1960
- #1961
- #1962
- #1964

- https://github.com/meilisearch/milli/pull/414
- https://github.com/meilisearch/milli/pull/409
- https://github.com/meilisearch/milli/pull/406
- https://github.com/meilisearch/milli/pull/418

- close #1687
- close #1786
- close #1940
- close #1948
- close #1949
- close #1932
- close #1956
2021-12-02 20:14:42 +01:00
bors[bot] 8363200fd7
Merge #1910
1910: After v0.24.0: import `stable` in `main` r=MarinPostma a=curquiza



Co-authored-by: Tamo <tamo@meilisearch.com>
Co-authored-by: many <maxime@meilisearch.com>
Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com>
Co-authored-by: Irevoire <tamo@meilisearch.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-11-17 12:48:56 +00:00
Clémentine Urquizar 9d01c5d882
Update mini-dashboard version to v0.1.5 2021-11-15 18:54:55 +01:00
Clémentine Urquizar a1227648ba
Remove email address from the message at the launch 2021-11-11 14:36:45 +01:00
Guillaume Mourier 7c5aad4073 fix aggregated search event names 2021-11-11 01:38:10 +01:00
Irevoire cc5e884b34
fix the 99th percentile in the analytics 2021-11-10 18:26:38 +01:00
many 6bbc1b4316
Remove error flattening in task serialization 2021-11-04 17:40:28 +01:00
many 3c696da274
Update tests 2021-11-04 17:40:28 +01:00
bors[bot] d9d6dee550
Merge #1873
1873: Change lacking errors r=ManyTheFish a=ManyTheFish



Co-authored-by: many <maxime@meilisearch.com>
2021-11-04 14:21:52 +00:00
many b59145385e
Fix PR comments 2021-11-04 14:57:27 +01:00
bors[bot] 3f4e0ec971
Merge #1875 #1876
1875: Fix search post event and disk size analytics r=irevoire a=gmourier

- Branch POST search on the post_search aggregator
- Use largest disk `total_space` instead of `available_space` 

1876: Update SEGMENT_API_KEY r=irevoire a=gmourier

Branch it on our Segment production stack

Co-authored-by: Guillaume Mourier <guillaume@meilisearch.com>
2021-11-04 10:16:13 +00:00
Guillaume Mourier 6d6725b3b8 Update SEGMENT_API_KEY 2021-11-04 08:10:12 +01:00
Guillaume Mourier 6660be2cb7 Branch POST /search on the dedicated analytics aggregator 2021-11-04 08:03:48 +01:00
Guillaume Mourier 847fcb570b Use total_space of the largest disk instead of available_space 2021-11-04 08:03:11 +01:00
many 30a094cbb2
Change lacking errors 2021-11-03 14:33:33 +01:00
Tamo 904bae98f8
send the analytics even when the search fail 2021-11-02 12:38:01 +01:00
marin postma 519093ea65
fix bad rebase 2021-10-29 17:32:49 +02:00
Tamo bd49d1c4b5
fix one small bug 2021-10-29 17:25:56 +02:00
marin postma 2665c0099d
clippy + fmt 2021-10-29 17:25:56 +02:00
marin postma d65f055030
pass anaytics into Arc instead of static ref 2021-10-29 17:25:55 +02:00
Tamo 66d87761b7
align the parameters in the launche resume 2021-10-29 17:25:55 +02:00
Tamo ba69ad672a
fix the timing issue 2021-10-29 17:25:55 +02:00
Tamo 7934e3956b
replace all mutexes by channel 2021-10-29 17:25:55 +02:00
Guillaume Mourier 68fe93b7db
add ranking_rules marker before sort_position 2021-10-29 17:25:55 +02:00
Tamo efd0ea9e1e
makes clippy happier 2021-10-29 17:25:55 +02:00
Tamo 6ef73eb226
fix all the single settings route and add the searchable attributes Updated event 2021-10-29 17:25:55 +02:00
Tamo fc2f23d36c
move the start_since_days to teh root of the identify 2021-10-29 17:25:54 +02:00
Tamo 7c39fab453
move the user-agent out of the context in every request 2021-10-29 17:25:54 +02:00
Tamo c5164c01c0
set the total of sortable attributes and filterable-attributes to 0 when not set 2021-10-29 17:25:54 +02:00
Tamo 351ad32d77
fix the index_creation boolean 2021-10-29 17:25:54 +02:00
Tamo 3ad8311bdd
split the analytics in a module 2021-10-29 17:25:54 +02:00
Tamo ea5ae2bae5
sort the imports 2021-10-29 17:25:54 +02:00
Tamo 72e3adc55e
display an instance-id instead of a user-id 2021-10-29 17:25:54 +02:00
Tamo b250392e8d
remove the first - in the path to the db instance in the instance-id 2021-10-29 17:25:53 +02:00
Tamo d8b0d68840
use a regex to count the number of filters instead of split + flatten 2021-10-29 17:25:53 +02:00
Tamo c4737749ab
bump segment to be able to display a user 2021-10-29 17:25:53 +02:00
Tamo a1ab02f9fb
remove some commented code 2021-10-29 17:25:53 +02:00
Tamo bba64b32ca
async_traits is not needed anymore 2021-10-29 17:25:53 +02:00
Tamo 9abd2aa9d7
make the analytics interval a const 2021-10-29 17:25:53 +02:00
Tamo de35a9a605
use an official release of segment 2021-10-29 17:25:53 +02:00
Tamo ed750e8792
fix start_since_day 2021-10-29 17:25:53 +02:00
Tamo 37ca50832c
fix the sort position 2021-10-29 17:25:52 +02:00
Tamo 31c7a0105b
fix a bug on the batch documents function 2021-10-29 17:25:52 +02:00
Tamo ddab9eafa1
fix a typo 2021-10-29 17:25:52 +02:00
Tamo 76a4f86e0c
rename user-id to instance-uid 2021-10-29 17:25:52 +02:00
Tamo 6b34318274
makes clippy happy 2021-10-29 17:25:52 +02:00
Tamo 5508c6c154
a bit of styling 2021-10-29 17:25:52 +02:00
Tamo 9a62ac0c94
send the analytics only once every hours 2021-10-29 17:25:52 +02:00
Tamo 01737ef847
remove all the debug prints 2021-10-29 17:25:51 +02:00
Tamo 10de92987a
compile write_user_id only when the analytics are enabled 2021-10-29 17:25:51 +02:00
Tamo 87a8bf5e96
write and load the user-id in the dumps 2021-10-29 17:25:51 +02:00
Tamo ba14ea1243
plug the new batchers into the documents route 2021-10-29 17:25:51 +02:00
Tamo 9be90011c6
save the user-id in the config dir of the OS 2021-10-29 17:25:51 +02:00
Tamo f9b14ca149
simplify the search batcher 2021-10-29 17:25:50 +02:00
Tamo 6591acfdfa
rename the documents batchers 2021-10-29 17:25:50 +02:00
Tamo e64ba122e1
factorize the code between the two documents batcher 2021-10-29 17:25:50 +02:00
Tamo a9523146a3
simplify the into_events methods 2021-10-29 17:25:50 +02:00
Tamo 392ee86714
implement the documents batcher 2021-10-29 17:25:50 +02:00
Tamo 1d73f484f0
update the primary key when creating a new index 2021-10-29 17:25:50 +02:00
Tamo cfcd3ae048
move the version to context.app 2021-10-29 17:25:50 +02:00
Tamo 5395041dcb
fix the stats and stop sending events when no request happened 2021-10-29 17:25:49 +02:00
Tamo 40eabd50d1
integrate the search batcher in the search route 2021-10-29 17:25:49 +02:00
Tamo 35ffd0ec3a
integrate the search batcher in the tick 2021-10-29 17:25:49 +02:00
Tamo d3d76bf97a
wip create a search batcher 2021-10-29 17:25:49 +02:00
Tamo 595ae42e94
update the name of the Launched event 2021-10-29 17:25:49 +02:00
Tamo 0667d940f9
update the name of nb_cores in the identify 2021-10-29 17:25:49 +02:00
Irevoire 75d1272325
log the dump creation 2021-10-29 17:25:49 +02:00
Irevoire 8e2d6cf87d
add the content type to all the route 2021-10-29 17:25:48 +02:00
Irevoire 9e1bba40f7
do not print anything if no user id was found 2021-10-29 17:25:48 +02:00
Irevoire f7bb499c28
send the first identify + launched for the first time events right away instead of batching them 2021-10-29 17:25:48 +02:00
Irevoire b33b1ef3dd
update the way of getting and saving the user-id to the file system 2021-10-29 17:25:48 +02:00
Irevoire 30aeda7a1a
update the identify call to the latest spec version 2021-10-29 17:25:48 +02:00
Irevoire 22d9d660cc
log all the required settings route 2021-10-29 17:25:48 +02:00
Irevoire 7524bfc07f
log the all settings updated route 2021-10-29 17:25:48 +02:00
Tamo bda7472880
log the documetns updated route 2021-10-29 17:25:48 +02:00
Tamo 1ed05c6c07
log documents added 2021-10-29 17:25:47 +02:00
Tamo 0b3e0a59cb
log index updated 2021-10-29 17:25:47 +02:00
Tamo 0616f68eb0
implements part of the search 2021-10-29 17:25:47 +02:00
Tamo 6b8e5a4c92
log the index created route 2021-10-29 17:25:47 +02:00
Tamo d72c887422
makes the analytics available for all the routes 2021-10-29 17:25:47 +02:00
Tamo 664d09e86a
makes the analytics works with the option and the feature 2021-10-29 17:25:47 +02:00
Tamo e226b1a87f
rewrite the main analytics module and the information sent in the tick 2021-10-29 17:25:42 +02:00
bors[bot] cf67964133
Merge #1848
1848: Error format and Definition r=MarinPostma a=ManyTheFish



Co-authored-by: many <maxime@meilisearch.com>
2021-10-28 14:15:35 +00:00
many cbaca2b579
Fix PR comments 2021-10-28 15:42:42 +02:00
Clémentine Urquizar a76d9b15c9
Update version for the next release (v0.24.0) 2021-10-28 12:24:49 +02:00
many 59636fa688
Pimp error where no document is provided 2021-10-28 12:13:51 +02:00
many ff0908d3fa
Ignore errors tests that show unrelated bugs 2021-10-28 11:41:59 +02:00
many 21f35762ca
Fix content type test 2021-10-28 10:57:11 +02:00
many 7464720426
Fix some errors 2021-10-28 10:47:59 +02:00
CuriousCorrelation 6641e7aa50 Add tests for mini-dashboard status and assets 2021-10-27 17:57:25 +05:30
many 61c15b69fb
Change malformed_payload error 2021-10-27 11:13:12 +02:00
many 8ec0c4c913
Add bad_request error tests 2021-10-27 11:13:12 +02:00
many b4038597ba
Keep persisting tmp files in database directory and put non-persisting tmp files in default tmp dir 2021-10-18 14:16:35 +02:00
Clémentine Urquizar b602a0836a
Merge branch 'main' into stable 2021-10-14 13:43:21 +02:00
Paul Sanders c9e1d054c7 Fix csv content-type error 2021-10-12 13:38:48 -04:00
Clémentine Urquizar 0f342ac46e
Update MeiliSearch version 2021-10-12 16:43:31 +02:00
Clémentine Urquizar 3edbc74430
Merge branch 'main' into stable 2021-10-11 18:30:10 +02:00
Tom Parker-Shemilt 6c46fbbc57 Remove memmap dependency 2021-10-10 22:33:40 +01:00
Tamo 66dbd3cd34
makes clippy happy 2021-10-06 17:39:04 +02:00
Tamo 9a1e44dc78
Apply suggestion
- remove the payload_error_handler in favor of a PayloadError::from

- merge the two match branch into one

- makes the accepted content type a const instead of recalculating it for every error
2021-10-06 17:15:47 +02:00
Tamo 37b267ffb3
duplicate the post document tests with the put verb 2021-10-06 17:15:47 +02:00
Tamo dfa199f98f
add content-type tests
fix typo

Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-10-06 17:15:47 +02:00
Tamo c6d107a05f
makes the content-type mandatory for every routes 2021-10-06 17:15:47 +02:00
bors[bot] 2190764162
Merge #1768
1768: Fix auth error r=irevoire a=MarinPostma

fix a small auth error, that set the invalid token error token to "hello". This was invilisble to the user because the invalid token is not returned.

thank you hawk-eye `@irevoire` 

Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-10-05 15:16:14 +00:00
mpostma 3b91764587 fix auth error 2021-10-05 09:09:40 +02:00
Anirudh Rowjee bffab21b10 Changes
1. Removed redundant scope registration
2021-10-04 14:47:05 +05:30
Anirudh Rowjee 151f691609 Fixes #1750
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.
2021-10-02 15:24:04 +05:30
mpostma 4eb3817b03
missing payload error 2021-09-30 16:58:13 +02:00
mpostma 18cb514073
invalid content type error 2021-09-30 16:58:13 +02:00
mpostma 137272b8de
empty content type error 2021-09-30 16:58:13 +02:00
Kerollmops c388dca5ec
Check that invalid updates do not create an index with a primary key 2021-09-30 15:46:04 +02:00
bors[bot] 05d5de47cb
Merge #1737
1737: Update version for the next release (v0.23.0) r=irevoire a=curquiza



Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-09-29 22:06:46 +00:00
mpostma fe5df6d06f fix payload content type guards 2021-09-29 19:04:47 +02:00
Clémentine Urquizar b17dae9ac0
Update version for the next release (v0.23.0) 2021-09-29 18:40:35 +02:00
bors[bot] 5fad37aebd
Merge #1711
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>
2021-09-29 14:38:55 +00:00
mpostma 8fa6502b16 review changes 2021-09-29 14:17:41 +02:00
mpostma 1f537e1b60 jsonl support 2021-09-29 11:28:02 +02:00
mpostma 5bac65f8b8 add missing content type errors 2021-09-29 09:55:35 +02:00
mpostma 911630000f split csv and json document routes 2021-09-29 00:12:25 +02:00
mpostma 102c46f88b clippy + fmt 2021-09-28 22:22:59 +02:00
mpostma 5fa9bc67d7 remove unused dependencies 2021-09-28 22:16:18 +02:00
mpostma 3503fbf7fe re-export milli from meilisearch_lib 2021-09-28 22:08:03 +02:00
mpostma 7a27cbcc78 rename RegisterUpdate to store::Update 2021-09-28 20:20:13 +02:00
mpostma 56766cffc3 remove module level doc 2021-09-28 18:58:56 +02:00
mpostma 692c676625 fix tests 2021-09-28 18:57:36 +02:00
Tamo ddfd7def35 add a TODO while waiting for the tests to be fixed 2021-09-28 18:17:56 +02:00
Tamo 539a57026d
fix the sort error messages 2021-09-28 14:50:26 +02:00
Tamo 654f49ccec
[WIP] put milli on branch main 2021-09-28 14:50:26 +02:00
Tamo c1376a9f2a
add the geosearch to Meilisearch 2021-09-28 14:50:26 +02:00
mpostma 90018755c5 restore snapshots 2021-09-27 16:48:03 +02:00
mpostma b9d189bf12 restore document deletion routes 2021-09-24 15:21:07 +02:00
mpostma c32012c44a restore settings updates 2021-09-24 14:55:57 +02:00
mpostma dfce44fa3b rename data to meilisearch 2021-09-24 12:03:16 +02:00
mpostma 5353be74c3 refactor index actor 2021-09-22 15:07:04 +02:00
mpostma 60518449fc split meilisearch-http and meilisearch-lib 2021-09-21 13:23:22 +02:00
mpostma 09d4e37044 split data and api keys 2021-09-20 15:31:03 +02:00
mpostma e14640e530 refactor meilisearch 2021-09-20 14:54:20 +02:00
Felix Yan a57943b77e
Use tikv-jemallocator instead of jemallocator
`jemallocator` has been abandoned for nearly two years, and `rustc`
itself moved to use `tikv-jemallocator` instead:
3965773ae7

Let's switch to a better maintained version.
2021-09-14 18:30:24 +03:00
bors[bot] 6fafdb7711
Merge #1651 #1676 #1684
1651: Use reset_sortable_fields r=Kerollmops a=shekhirin

Resolves https://github.com/meilisearch/MeiliSearch/issues/1635

1676: Add curl binary to final stage image r=curquiza a=ook

Reference: #1673 

Changes: * add `curl` binary to final docker Melisearch image.

For metrics, docker funny layer management makes this add a  shrink from 319MB to 315MB:

```
☁  MeiliSearch [feature/1673-add-curl-to-docker-image]  docker image ls
REPOSITORY                                                         TAG                  IMAGE ID       CREATED         SIZE
getmeili/meilisearch                                               0.22.0_ook_1673      938e239ad989   2 hours ago     315MB
getmeili/meilisearch                                               latest               258fa3aa1230   6 days ago      319MB
```

1684: bump dependencies r=MarinPostma a=MarinPostma

Bump meilisearch dependencies.

We still depend on custom patch that have been upgraded along the way.

Co-authored-by: Alexey Shekhirin <a.shekhirin@gmail.com>
Co-authored-by: Thomas Lecavelier <thomas@followanalytics.com>
Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-09-13 13:20:29 +00:00
mpostma 0f7625e29a bump dependencies 2021-09-13 15:17:08 +02:00
Clémentine Urquizar 6d2f7af642
Bump milli: fix some crashes 2021-09-13 12:14:54 +02:00
bors[bot] c101b2a5cb
Merge #1686
1686: Bump milli r=curquiza a=irevoire

 fixes #1685, #1678, #1671, #1677 and #1680

Co-authored-by: Tamo <tamo@meilisearch.com>
2021-09-08 16:31:02 +00:00
bors[bot] 971c361e0f
Merge #1682
1682: Change the format of custom ranking rules when importing old dumps r=curquiza a=Kerollmops

This PR changes the format of the custom ranking rules from `asc(price)` to `title:asc` as the format changed between v0.21 and v0.22. The dumps are now correctly importing the custom ranking rules.

This PR also change the previous default ranking rules (without sort) to the new default ranking rules (with the new sort).

Co-authored-by: Kerollmops <clement@meilisearch.com>
2021-09-08 16:20:10 +00:00
Kerollmops be50b2bec6
Change the format of custom ranking rules when importing v2 dumps 2021-09-08 17:56:21 +02:00
Tamo 49c918defa
bump milli 2021-09-08 17:41:47 +02:00
many 169e739634
Remove useless indexer options 2021-09-08 13:40:05 +02:00
many 08138c7c23
Use set indexer options instead of create a default one 2021-09-08 13:40:00 +02:00
Kerollmops 331d28102f
Change the format of custom ranking rules when importing v1 dumps 2021-09-07 17:16:40 +02:00
Alexey Shekhirin efa69875d9
refactor(http): use reset_sortable_fields 2021-09-07 15:04:44 +03:00
many c0f9c891f5
Set max_memory value to unlimited during tests
because tests run several meilisearch in parallel,
we over estimate the value for max_memory making the tests on widows crash
2021-09-06 14:38:10 +02:00
Clémentine Urquizar 33514b28be
Merge pull request #1588 from meilisearch/test-new-indexer
Integrate the new indexer
2021-09-06 10:21:42 +02:00
Clément Renault 7e80337e5b
Bump milli to v0.12.0 2021-09-02 18:19:12 +02:00
Kerollmops 4cdf680a81
Make the MaxMemory use the default value when undefined 2021-09-02 18:19:11 +02:00
Kerollmops 0cd66c3a89
Bump the milli version 2021-09-02 18:19:00 +02:00
Clément Renault b092a624ed
Introduce the MaxMemory struct that defaults to 2/3 of the available memory 2021-09-02 18:18:59 +02:00
Clémentine Urquizar 24e84d7ca1
Test new indexer 2021-09-02 18:11:20 +02:00
Clémentine Urquizar 90116155b4
Update version for the next release (v0.22.0) 2021-09-01 12:33:30 +02:00
bors[bot] 19c5c74291
Merge #1652 #1654 #1657
1652: Remove dependabot r=MarinPostma a=curquiza

Fixes #1649 

Dependabot for vulnerability and security updates is still activated.

1654: Add Script for Windows r=MarinPostma a=singh08prashant

fixes #1570 

changes:

1. added script for detecting windows os running git bash
2. appended `.exe` to `$release_file` for windows as listed [here](https://github.com/meilisearch/MeiliSearch/releases/)
3. removed global `$BINARY_NAME='meilisearch'` as windows require `.exe` file

1657: Bring vergen hotfix from `stable` to `main` r=MarinPostma a=curquiza



Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
Co-authored-by: singh08prashant <singh08prashant@gmail.com>
Co-authored-by: Kerollmops <clement@meilisearch.com>
Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
2021-08-31 14:31:42 +00:00
Kerollmops 9d0fa8112b
Remove unused Arc import 2021-08-31 14:50:36 +02:00
Kerollmops b8c954eb3f
Bump the MeiliSearch version to v0.21.1 2021-08-30 17:41:25 +02:00
Kerollmops a8c146fd13
Unwrap or unknown the commit hash 2021-08-30 17:41:24 +02:00
Kerollmops 1782753387
Bump vergen and remove unused build feature 2021-08-30 15:03:45 +02:00
Kerollmops cf4a466b6b
Make sure that the order of the filterableAttributes is constant 2021-08-26 11:06:05 +02:00
Kerollmops 087e4626ce
Make sure that the order of the sortableAttributes is constant 2021-08-26 11:06:04 +02:00
Kerollmops 64462c842b
Test the search with sort time queries with POST and GET methods 2021-08-25 17:39:25 +02:00
Kerollmops e0f73fe742
Introduce the sort search parameter 2021-08-25 17:39:25 +02:00
Kerollmops ea4c831de0
Integrate the sortable-attributes into the settings 2021-08-25 17:39:25 +02:00
Kerollmops 51387b2c80
Introduce the new invalid sortable error codes 2021-08-25 17:29:30 +02:00
bors[bot] 2d8dd87cad
Merge #1623
1623: Use Setting enum r=Kerollmops a=shekhirin

Resolves https://github.com/meilisearch/MeiliSearch/issues/1620

Co-authored-by: Alexey Shekhirin <a.shekhirin@gmail.com>
2021-08-25 14:58:40 +00:00
Alexey Shekhirin d9dd2a038b
refactor(http): use Setting enum 2021-08-25 17:43:46 +03:00
Irevoire 672fcee8aa
remove sentry 2021-08-24 12:38:31 +02:00
Clémentine Urquizar 149f46c184
Fix pacic when decoding 2021-08-23 12:37:51 +02:00
Clémentine Urquizar 38fc876704
Update tokenizer and new milli version with new tags 2021-08-18 14:55:10 +02:00
Clémentine Urquizar 39d5a99095
Update milli and tokenizer version 2021-08-18 12:09:34 +02:00
bors[bot] 2beb306834
Merge #1577
1577: Update milli dependency: fix facet values bugs r=Kerollmops a=curquiza

Fixes #1576 

Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-08-16 16:13:42 +00:00
Clémentine Urquizar f3e595e2f0
Update milli dependency 2021-08-16 13:36:42 +02:00
Clémentine Urquizar 621529e9dc
Update telemetry link 2021-08-12 18:58:07 +02:00
Clémentine Urquizar 7531280764
Update tokenizer version to v0.2.4 2021-08-12 13:55:47 +02:00
bors[bot] 7e3b2ddff2
Merge #1554
1554: Fix dump v1 (attributesForFaceting, and criteria) r=curquiza a=MarinPostma

close #1553


Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-08-05 19:45:52 +00:00
bors[bot] 312d93961a
Merge #1556
1556: Update milli to v0.9.0 r=MarinPostma a=curquiza

Fixes #1552 

Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-08-05 14:04:55 +00:00
mpostma 8f05d8d546 fix clippy warnings 2021-08-05 16:00:47 +02:00
mpostma f5ddea481a reintroduce exactness 2021-08-05 15:59:39 +02:00
mpostma 29ca8271b3 test dumpv1 format regression 2021-08-05 15:59:39 +02:00
mpostma 3084537d1e restore attributes for faceting in dump v1 2021-08-05 15:59:39 +02:00
Clémentine Urquizar 992b082c6f
Fix docs link anchor 2021-08-05 13:28:32 +02:00
Clémentine Urquizar 31fe263356
Update milli to v0.9.0 2021-08-05 13:08:27 +02:00
bors[bot] 7a0b20c740
Merge #1532
1532: Start writing documentation for newcomers r=MarinPostma a=irevoire



Co-authored-by: Tamo <tamo@meilisearch.com>
2021-08-03 09:26:45 +00:00
bors[bot] 9810f6b695
Merge #1540
1540: Update milli to version 0.8.1 r=curquiza a=curquiza

Integrates this fix into MeiliSearch https://github.com/meilisearch/milli/pull/296

Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-07-29 17:15:52 +00:00
bors[bot] 09c74c04a0
Merge #1539
1539: Use serdeval for validating json format. r=curquiza a=MarinPostma

uses [serdeval](https://github.com/MarinPostma/serdeval) to validate that the json payload is valid json, and in the correct format.

fix #1535


Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-07-29 17:05:13 +00:00
Clémentine Urquizar 1b5d918cb9
Fix rustfmt 2021-07-29 18:32:09 +02:00
Clémentine Urquizar bf76d4a43c
Make clippy happy 2021-07-29 18:14:36 +02:00
mpostma 53b4b2fcbc Use serdeval for validating json format. 2021-07-29 18:02:54 +02:00
Clémentine Urquizar 9a8629a6a9
Update milli 2021-07-29 17:45:31 +02:00
Tamo 78308365ec
fix typos 2021-07-29 14:40:41 +02:00
Tamo 243233f652
import .git to docker to fix vergen 2021-07-28 19:12:40 +02:00
Clémentine Urquizar 80916baa21
Add FieldId in import 2021-07-28 12:25:13 +02:00
Clémentine Urquizar 1df8f041bd
Update meilisearch-http/src/index/search.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-07-28 12:10:25 +02:00
Clémentine Urquizar 6a6e2a8cd1
Update meilisearch-http/src/index/search.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-07-28 12:08:51 +02:00
Clémentine Urquizar f9d337b320
Update meilisearch-http/src/index/search.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-07-28 12:08:36 +02:00
Clémentine Urquizar feb069f604
Update meilisearch-http/src/index/search.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-07-28 12:08:28 +02:00
Clémentine Urquizar 7e0eed5772
Update meilisearch-http/src/index/search.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-07-28 12:08:24 +02:00
Clémentine Urquizar 9bdd040dd0
Update meilisearch-http/src/index/mod.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-07-28 12:08:19 +02:00
Clémentine Urquizar e5dabf265a
Update milli version to v0.8.0 2021-07-28 10:52:47 +02:00
Tamo 1a1046a0ef
start writing some documentation for newcomers 2021-07-27 16:35:42 +02:00
Morgane Dubus d3cd7e92d1
Update mini-dashboard version to v0.1.4 2021-07-27 11:44:20 +02:00
Tamo f79b8287f5
update vergen 2021-07-26 15:25:30 +02:00
Tamo 5d4a0ac844
sentry was never sending anything 2021-07-21 11:50:54 +02:00
bors[bot] 0136b02e5b
Merge #1498
1498: Show the filterable and not the faceted attributes in the settings r=Kerollmops a=Kerollmops

Fixes #1497

Co-authored-by: Clément Renault <clement@meilisearch.com>
2021-07-13 07:27:14 +00:00
Clément Renault f49a01703a
Show the filterable and not the faceted attributes in the settings 2021-07-09 16:11:37 +02:00