Louis Dureuil 
							
						 
					 
					
						
						
							
						
						14c4a222da 
					 
					
						
						
							
							Authentication: AuthFilter::allow_index_creation both check that the index is authorized and the IndexCreate action  
						
						
						
						
					 
					
						2023-02-22 16:37:13 +01:00 
						 
				 
			
				
					
						
							
							
								Louis Dureuil 
							
						 
					 
					
						
						
							
						
						690bb2e5cc 
					 
					
						
						
							
							Authentication: Make allow_index_creation a private field  
						
						
						
						
					 
					
						2023-02-22 16:35:52 +01:00 
						 
				 
			
				
					
						
							
							
								Louis Dureuil 
							
						 
					 
					
						
						
							
						
						d0f2c9c72e 
					 
					
						
						
							
							Authentication: Make search_rules optional in AuthFilter  
						
						
						
						
					 
					
						2023-02-22 16:35:52 +01:00 
						 
				 
			
				
					
						
							
							
								Louis Dureuil 
							
						 
					 
					
						
						
							
						
						42577403d8 
					 
					
						
						
							
							Authentication: Directly pass the authfilter to the index scheduler  
						
						
						
						
					 
					
						2023-02-22 16:35:52 +01:00 
						 
				 
			
				
					
						
							
							
								Louis Dureuil 
							
						 
					 
					
						
						
							
						
						c8c5944094 
					 
					
						
						
							
							Authentication: is_index_authorized takes into account API key indexes even with a tenant token  
						
						
						
						
					 
					
						2023-02-22 16:35:52 +01:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						74d1a67a99 
					 
					
						
						
							
							Use the workspace inheritance feature of rust 1.64  
						
						
						
						
					 
					
						2023-02-15 13:51:07 +01:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						4b1cd10653 
					 
					
						
						
							
							Return an internal error when index pattern should be valid  
						
						
						
						
					 
					
						2023-02-13 17:49:42 +01:00 
						 
				 
			
				
					
						
							
							
								Clément Renault 
							
						 
					 
					
						
						
							
						
						764df24b7d 
					 
					
						
						
							
							Make clippy happy (again)  
						
						
						
						
					 
					
						2023-02-09 13:21:20 +01:00 
						 
				 
			
				
					
						
							
							
								Clément Renault 
							
						 
					 
					
						
						
							
						
						4570d5bf3a 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/main' into temp-wildcard  
						
						
						
						
					 
					
						2023-02-09 13:14:05 +01:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						a36b1dbd70 
					 
					
						
						
							
							Fix the tasks with the new patterns  
						
						
						
						
					 
					
						2023-02-01 18:21:45 +01:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						d563ed8a39 
					 
					
						
						
							
							Making it work with index uid patterns  
						
						
						
						
					 
					
						2023-02-01 17:51:30 +01:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						ec7de4bae7 
					 
					
						
						
							
							Make it work for any all routes including stats and index swaps  
						
						
						
						
					 
					
						2023-01-25 16:12:40 +01:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						c92948b143 
					 
					
						
						
							
							Compute the size of the auth-controller, index-scheduler and all update files in the global stats  
						
						
						
						
					 
					
						2023-01-25 11:25:02 +01:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						d0988e115f 
					 
					
						
						
							
							fix the patch of description and name for the api-key  
						
						
						
						
					 
					
						2023-01-18 19:07:26 +01:00 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						9194508a0f 
					 
					
						
						
							
							Refactor query parameter deserialisation logic  
						
						
						
						
					 
					
						2023-01-17 11:07:07 +01:00 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						b0b7ad7caf 
					 
					
						
						
							
							Apply review suggestions  
						
						
						
						
					 
					
						2023-01-11 19:08:39 +01:00 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						1fc11264e8 
					 
					
						
						
							
							Refactor deserr integration  
						
						
						
						
					 
					
						2023-01-11 19:08:39 +01:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						4b6ffe0cd1 
					 
					
						
						
							
							Update meilisearch-auth/src/lib.rs  
						
						
						
						
					 
					
						2023-01-02 16:33:02 +01:00 
						 
				 
			
				
					
						
							
							
								Louis Dureuil 
							
						 
					 
					
						
						
							
						
						66e18eae79 
					 
					
						
						
							
							auth: add generate_master_key function  
						
						
						
						
					 
					
						2022-12-22 11:55:27 +01:00 
						 
				 
			
				
					
						
							
							
								Louis Dureuil 
							
						 
					 
					
						
						
							
						
						869d331680 
					 
					
						
						
							
							Clippy fixes after updating Rust to v1.66  
						
						
						
						
					 
					
						2022-12-19 14:17:12 +01:00 
						 
				 
			
				
					
						
							
							
								curquiza 
							
						 
					 
					
						
						
							
						
						026cf223b3 
					 
					
						
						
							
							Update version for the next release (v1.0.0) in Cargo.toml files  
						
						
						
						
					 
					
						2022-12-08 12:20:17 +00:00 
						 
				 
			
				
					
						
							
							
								curquiza 
							
						 
					 
					
						
						
							
						
						5db7c4057c 
					 
					
						
						
							
							Update version for the next release (v0.30.1) in Cargo.toml files  
						
						
						
						
					 
					
						2022-12-06 20:05:46 +01:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								curquiza 
							
						 
					 
					
						
						
							
						
						68f80dbacf 
					 
					
						
						
							
							Update version for the next release (v0.30.0) in Cargo.toml files  
						
						
						
						
					 
					
						2022-10-27 11:35:44 +00:00 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						7b93ba40bd 
					 
					
						
						
							
							Reimplement task queries to account for special index swap rules  
						
						
						
						
					 
					
						2022-10-27 11:44:51 +02:00 
						 
				 
			
				
					
						
							
							
								Irevoire 
							
						 
					 
					
						
						
							
						
						1bef5d119d 
					 
					
						
						
							
							fix the api keys for the tasks route  
						
						
						
						
					 
					
						2022-10-27 11:35:06 +02:00 
						 
				 
			
				
					
						
							
							
								Clément Renault 
							
						 
					 
					
						
						
							
						
						80b2e70ee7 
					 
					
						
						
							
							Introduce a rustfmt file  
						
						
						
						
					 
					
						2022-10-27 11:35:05 +02:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						b2c5bc67b7 
					 
					
						
						
							
							Add more enum-iterator related stuff  
						
						
						
						
					 
					
						2022-10-27 11:34:11 +02:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						e645c4c4d6 
					 
					
						
						
							
							Remove the meilisearch-auth milli dependency  
						
						
						
						
					 
					
						2022-10-27 11:34:10 +02:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						d1a6fb2971 
					 
					
						
						
							
							bump enum-iter and fix a bunch of error messages  
						
						
						
						
					 
					
						2022-10-27 11:34:09 +02:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						d0e91555d1 
					 
					
						
						
							
							rebase on index-scheduler  
						
						
						
						
					 
					
						2022-10-27 11:34:08 +02:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						d976e680c5 
					 
					
						
						
							
							first mostly working version  
						
						
						
						
					 
					
						2022-10-27 11:34:06 +02:00 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						7034803712 
					 
					
						
						
							
							move the API key in meilisearch_types  
						
						
						
						
					 
					
						2022-10-27 11:34:02 +02:00 
						 
				 
			
				
					
						
							
							
								Tamo 
							
						 
					 
					
						
						
							
						
						e845cc2b6f 
					 
					
						
						
							
							fix the tests  
						
						
						
						
					 
					
						2022-10-27 11:33:51 +02:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								ManyTheFish 
							
						 
					 
					
						
						
							
						
						4afed4de4f 
					 
					
						
						
							
							stabilize milli  
						
						
						
						
					 
					
						2022-10-24 14:16:41 +02:00 
						 
				 
			
				
					
						
							
							
								ManyTheFish 
							
						 
					 
					
						
						
							
						
						062d17fbc0 
					 
					
						
						
							
							Use a milli version that compute exhaustivelly the number of hits  
						
						
						
						
					 
					
						2022-10-19 14:05:42 +02:00 
						 
				 
			
				
					
						
							
							
								vishalsodani 
							
						 
					 
					
						
						
							
						
						1a61209596 
					 
					
						
						
							
							fix wrong variant returned for invalid_api_key_indexes error  
						
						
						
						
					 
					
						2022-10-18 19:41:06 +05:30 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						05af8f0e46 
					 
					
						
						
							
							Update version for next release (v0.29.1)  
						
						
						
						
					 
					
						2022-10-06 10:27:11 +02:00 
						 
				 
			
				
					
						
							
							
								Loïc Lecrenier 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Clémentine Urquizar - curqui 
							
						 
					 
					
						
						
							
						
						a7d2c9572e 
					 
					
						
						
							
							Merge branch 'main' into stable  
						
						
						
						
					 
					
						2022-10-04 14:20:10 +02:00 
						 
				 
			
				
					
						
							
							
								Jakub Jirutka 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Jakub Jirutka 
							
						 
					 
					
						
						
							
						
						5b57114771 
					 
					
						
						
							
							Bump milli from 0.33.0 to 0.33.4  
						
						
						
						
					 
					
						2022-09-14 20:52:11 +02:00 
						 
				 
			
				
					
						
							
							
								Clémentine Urquizar 
							
						 
					 
					
						
						
							
						
						268d59ccb1 
					 
					
						
						
							
							Update milli version to v0.33.4  
						
						
						
						
					 
					
						2022-09-13 18:01:09 +02:00 
						 
				 
			
				
					
						
							
							
								Kerollmops 
							
						 
					 
					
						
						
							
						
						441492f1c8 
					 
					
						
						
							
							Bump milli to v0.33.3  
						
						
						
						
					 
					
						2022-09-07 18:23:49 +02:00 
						 
				 
			
				
					
						
							
							
								Many the fish 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								ManyTheFish 
							
						 
					 
					
						
						
							
						
						50434d35d0 
					 
					
						
						
							
							Update milli v0.33.2  
						
						
						
						
					 
					
						2022-09-01 13:15:05 +02:00 
						 
				 
			
				
					
						
							
							
								Clément Renault 
							
						 
					 
					
						
						
							
						
						f0b2ac6efb 
					 
					
						
						
							
							metrics.all must define metrics.get  
						
						
						
						
					 
					
						2022-08-24 17:03:30 +02:00