d16ea755d8
Merge #2982
...
2982: Adapt task queries to account for special index swap rules r=irevoire a=loiclec
# Pull Request
## Related issue
Fixes https://github.com/meilisearch/meilisearch/issues/2970
## What does this PR do?
- Replace the `get_tasks` method with a `get_tasks_from_authorized_indexes` which returns the list of tasks matched by the query **from the point of view of the user**. That is, it takes into consideration the list of authorised indexes as well as the special case of `IndexSwap` which should not be returned if an index_uid is specified or if any of its associated indexes are not authorised.
- Adapt the code in other places following this change
- Add some tests
- Also the method `get_task_ids_from_authorized_indexes` now takes a read transaction as argument. This is because we want to make sure that the implementation of `get_tasks_from_authorized_indexes` only uses one read transaction. Otherwise, we could (1) get a list of task ids matching the query, then (2) one of these task ids is deleted by a taskDeletion task, and finally (3) we try to get the `Task`s associated with each returned task ids, and get a `CorruptedTaskQueue` error.
Co-authored-by: Loïc Lecrenier <loic.lecrenier@me.com >
2022-10-27 14:28:04 +00:00
68f80dbacf
Update version for the next release (v0.30.0) in Cargo.toml files
2022-10-27 11:35:44 +00:00
7b93ba40bd
Reimplement task queries to account for special index swap rules
2022-10-27 11:44:51 +02:00
1bef5d119d
fix the api keys for the tasks route
2022-10-27 11:35:06 +02:00
80b2e70ee7
Introduce a rustfmt file
2022-10-27 11:35:05 +02:00
b2c5bc67b7
Add more enum-iterator related stuff
2022-10-27 11:34:11 +02:00
e645c4c4d6
Remove the meilisearch-auth milli dependency
2022-10-27 11:34:10 +02:00
d1a6fb2971
bump enum-iter and fix a bunch of error messages
2022-10-27 11:34:09 +02:00
d0e91555d1
rebase on index-scheduler
2022-10-27 11:34:08 +02:00
d976e680c5
first mostly working version
2022-10-27 11:34:06 +02:00
9522b75454
Continue implementation of task deletion
...
1. Matched tasks are a roaring bitmap
2. Start implementation in meilisearch-http
3. Snapshots use meili-snap
4. Rename to TaskDeletion
2022-10-27 11:34:03 +02:00
7034803712
move the API key in meilisearch_types
2022-10-27 11:34:02 +02:00
e845cc2b6f
fix the tests
2022-10-27 11:33:51 +02:00
25ec51e783
Merge #2601
...
2601: Ease search result pagination r=Kerollmops a=ManyTheFish
# Summary
This PR is a prototype enhancing search results pagination (#2577 )
# Todo
- [x] Update the API to return the number of pages and allow users to directly choose a page instead of computing an offset
- [x] Change computation of `total_pages` in order to have an exact count
- [x] compute query tree exhaustively
- [x] compute distinct exhaustively
# Small Documentation
## Default search query
**request**:
```sh
curl \
-X POST 'http://localhost:7700/indexes/movies/search ' \
-H 'Content-Type: application/json' \
--data-binary '{ "q": "botman" }'
```
**result**:
```json
{
"hits":[...],
"query":"botman",
"processingTimeMs":5,
"hitsPerPage":20,
"page":1,
"totalPages":4,
"totalHits":66
}
```
## Search query with offset parameter
**request**:
```sh
curl \
-X POST 'http://localhost:7700/indexes/movies/search ' \
-H 'Content-Type: application/json' \
--data-binary '{ "q": "botman", "offset": 0 }'
```
**result**:
```json
{
"hits":[...],
"query":"botman",
"processingTimeMs":3,
"limit":20,
"offset":0,
"estimatedTotalHits":66
}
```
## Search query selecting page with page parameter
**request**:
```sh
curl \
-X POST 'http://localhost:7700/indexes/movies/search ' \
-H 'Content-Type: application/json' \
--data-binary '{ "q": "botman", "page": 2 }'
```
**result**:
```json
{
"hits":[...],
"query":"botman",
"processingTimeMs":5,
"hitsPerPage":20,
"page":2,
"totalPages":4,
"totalHits":66
}
```
# Related
fixes #2577
## In charge of the feature
Core: `@ManyTheFish`
Docs: `@guimachiavelli`
Integration: `@bidoubiwa`
Co-authored-by: ManyTheFish <many@meilisearch.com >
2022-10-26 16:10:58 +00:00
4afed4de4f
stabilize milli
2022-10-24 14:16:41 +02:00
062d17fbc0
Use a milli version that compute exhaustivelly the number of hits
2022-10-19 14:05:42 +02:00
1a61209596
fix wrong variant returned for invalid_api_key_indexes error
2022-10-18 19:41:06 +05:30
1b72eba1f3
Merge #2867
...
2867: Bring back `stable` into `main` r=Kerollmops a=curquiza
Following hotfix for v0.29.1
Co-authored-by: Loïc Lecrenier <loic@meilisearch.com >
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com >
Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
2022-10-06 14:14:23 +00:00
05af8f0e46
Update version for next release (v0.29.1)
2022-10-06 10:27:11 +02:00
a2c91a87fe
Upgrade dependencies
...
Except:
- clap stays on 3.0 because it is more complicated to upgrade
- enum_iterator goes up to 1.1.2 instead of 1.2 because of the vergen
dependency
2022-10-05 15:53:02 +02:00
a7d2c9572e
Merge branch 'main' into stable
2022-10-04 14:20:10 +02:00
935f18efcf
Allow building without specialized tokenizations
...
(Some of) these specialized tokenizations include huge dictionaries
that currently account for 90% (!) of the meilisearch binary size.
This commit adds chinese, hebrew, japanese, and thai feature flags
that are propagated via milli down to the charabia crate. To keep it
backward compatible, they are enabled by default.
Related to meilisearch/milli#632
2022-09-14 21:16:34 +02:00
5b57114771
Bump milli from 0.33.0 to 0.33.4
2022-09-14 20:52:11 +02:00
268d59ccb1
Update milli version to v0.33.4
2022-09-13 18:01:09 +02:00
441492f1c8
Bump milli to v0.33.3
2022-09-07 18:23:49 +02:00
37dc6537c3
Fix api keys bugs ( #2734 )
...
* Add some tests
* Disallow index creation when API key doesn't havec explicitelly the right on the creating index
* Fix lazy index creation with `indexes.*` action
2022-09-06 15:13:09 +02:00
50434d35d0
Update milli v0.33.2
2022-09-01 13:15:05 +02:00
f0b2ac6efb
metrics.all must define metrics.get
2022-08-24 17:03:30 +02:00
2c2efc7ab6
Remove the hand written numbers of the actions rights
2022-08-24 16:33:12 +02:00
381df43be4
Change the metrics route API access rights
2022-08-24 16:28:33 +02:00
aff4b64265
Update dependencies
2022-08-23 16:39:39 +02:00
6fe3f285ce
Update version for next release (v0.29.0)
2022-08-23 13:39:56 +02:00
fe32097964
Update milli v0.32
2022-07-28 14:45:10 +02:00
9cf6acb671
Fix highlight issue by updating milli to v0.31.2
2022-07-21 14:11:24 +04:00
d01a3ab889
Update version for next release (v0.28.1)
2022-07-20 15:46:53 +04:00
8e370ed9ab
Merge branch 'main' into stable
2022-07-11 14:41:15 +02:00
074a6a0cce
Fix typos in HeadAuthStore::put_api_key
2022-07-06 22:24:46 -04:00
fb9b298645
Leave actions as HashSet
2022-07-05 21:52:50 -04:00
23f02f241e
Run the code formatter
2022-07-05 21:08:56 -04:00
5d80ff41a2
Clean up put_key impl
2022-07-05 21:06:58 -04:00
a146fd45b9
Format API keys in hexa instead of base64
2022-07-05 16:14:18 +02:00
63e1fb4f96
Run the code formatter
2022-07-04 21:49:40 -04:00
c251b527b0
Add iterators over * for stats, dumps, tasks, settings, and indexes; change documents impl to prevent duplication
2022-07-04 21:38:31 -04:00
1dc3724c1f
Added [...]_ALL enum members in action.rs
2022-07-04 21:38:21 -04:00
7feb15df28
Bump milli to 0.31.1
2022-06-23 10:47:48 +02:00
6f910f89eb
Ran formatter on the code.
2022-06-15 22:23:38 +01:00
9a8fb6c55a
Updated actions identifiers to be in a more pleasing order
2022-06-15 17:27:41 +01:00
4016161035
Provide all document related permissions for action document.*
2022-06-15 16:11:39 +01:00
2063fbd985
chore: bump milli
2022-06-09 18:34:03 +02:00
b8745420da
Use the IndexUid
and StarOr
in meilisearch_auth::Key
...
Move `meilisearch_http::routes::StarOr` to `meilisearch_types::star_or`
Fixes #2158
2022-06-09 16:14:15 +02:00