From 51387b2c80aaa4203c2e305761610334de4bd476 Mon Sep 17 00:00:00 2001 From: Kerollmops Date: Tue, 24 Aug 2021 18:52:28 +0200 Subject: [PATCH] Introduce the new invalid sortable error codes --- Cargo.lock | 17 ++--------------- meilisearch-error/src/lib.rs | 3 +++ meilisearch-http/Cargo.toml | 3 +-- meilisearch-http/src/error.rs | 1 + meilisearch-http/src/index/update_handler.rs | 2 +- meilisearch-http/src/option.rs | 2 +- .../tests/settings/get_settings.rs | 18 ++++++++++++++++-- 7 files changed, 25 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1227d0a03..18bbbc5e5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1585,7 +1585,6 @@ dependencies = [ "fst", "futures", "futures-util", - "grenad", "heed", "hex", "http", @@ -1676,8 +1675,8 @@ dependencies = [ [[package]] name = "milli" -version = "0.10.2" -source = "git+https://github.com/meilisearch/milli.git?tag=v0.10.2#879d5e8799836d93f8995810965b6797be4f69d1" +version = "0.11.0" +source = "git+https://github.com/meilisearch/milli.git?tag=v0.11.0#c51bb6789cb3fbb6511138374b3443f9116a445c" dependencies = [ "bstr", "byteorder", @@ -1704,7 +1703,6 @@ dependencies = [ "pest 2.1.3 (git+https://github.com/pest-parser/pest.git?rev=51fd1d49f1041f7839975664ef71fe15c7dcaf67)", "pest_derive", "rayon", - "regex", "roaring", "serde", "serde_json", @@ -1712,7 +1710,6 @@ dependencies = [ "smallstr", "smallvec", "tempfile", - "tinytemplate", "uuid", ] @@ -2937,16 +2934,6 @@ dependencies = [ "syn 1.0.73", ] -[[package]] -name = "tinytemplate" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3dc76004a03cec1c5932bca4cdc2e39aaa798e3f82363dd94f9adf6098c12f" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "tinyvec" version = "1.2.0" diff --git a/meilisearch-error/src/lib.rs b/meilisearch-error/src/lib.rs index 4cf801c72..5e08317a9 100644 --- a/meilisearch-error/src/lib.rs +++ b/meilisearch-error/src/lib.rs @@ -63,6 +63,7 @@ pub enum Code { Facet, Filter, + Sort, BadParameter, BadRequest, @@ -116,6 +117,8 @@ impl Code { Facet => ErrCode::invalid("invalid_facet", StatusCode::BAD_REQUEST), // error related to filters Filter => ErrCode::invalid("invalid_filter", StatusCode::BAD_REQUEST), + // error related to sorts + Sort => ErrCode::invalid("invalid_sort", StatusCode::BAD_REQUEST), BadParameter => ErrCode::invalid("bad_parameter", StatusCode::BAD_REQUEST), BadRequest => ErrCode::invalid("bad_request", StatusCode::BAD_REQUEST), diff --git a/meilisearch-http/Cargo.toml b/meilisearch-http/Cargo.toml index d94a30093..efb329d7c 100644 --- a/meilisearch-http/Cargo.toml +++ b/meilisearch-http/Cargo.toml @@ -41,7 +41,6 @@ flate2 = "1.0.19" fst = "0.4.5" futures = "0.3.7" futures-util = "0.3.8" -grenad = { git = "https://github.com/Kerollmops/grenad.git", rev = "3adcb26" } heed = { git = "https://github.com/Kerollmops/heed", tag = "v0.12.1" } http = "0.2.1" indexmap = { version = "1.3.2", features = ["serde-1"] } @@ -51,7 +50,7 @@ main_error = "0.1.0" meilisearch-error = { path = "../meilisearch-error" } meilisearch-tokenizer = { git = "https://github.com/meilisearch/tokenizer.git", tag = "v0.2.5" } memmap = "0.7.0" -milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.10.2" } +milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.11.0" } mime = "0.3.16" num_cpus = "1.13.0" once_cell = "1.5.2" diff --git a/meilisearch-http/src/error.rs b/meilisearch-http/src/error.rs index 4f47abd66..085bceabf 100644 --- a/meilisearch-http/src/error.rs +++ b/meilisearch-http/src/error.rs @@ -103,6 +103,7 @@ impl ErrorCode for MilliError<'_> { UserError::PrimaryKeyCannotBeReset => Code::PrimaryKeyAlreadyPresent, UserError::UnknownInternalDocumentId { .. } => Code::DocumentNotFound, UserError::InvalidFacetsDistribution { .. } => Code::BadRequest, + UserError::InvalidSortableAttribute { .. } => Code::Sort, } } } diff --git a/meilisearch-http/src/index/update_handler.rs b/meilisearch-http/src/index/update_handler.rs index 4d860ed7e..1426cca01 100644 --- a/meilisearch-http/src/index/update_handler.rs +++ b/meilisearch-http/src/index/update_handler.rs @@ -1,8 +1,8 @@ use std::fs::File; use crate::index::Index; -use grenad::CompressionType; use milli::update::UpdateBuilder; +use milli::CompressionType; use rayon::ThreadPool; use crate::index_controller::UpdateMeta; diff --git a/meilisearch-http/src/option.rs b/meilisearch-http/src/option.rs index 0e75b63c8..d87b98adb 100644 --- a/meilisearch-http/src/option.rs +++ b/meilisearch-http/src/option.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use std::{error, fs}; use byte_unit::Byte; -use grenad::CompressionType; +use milli::CompressionType; use rustls::internal::pemfile::{certs, pkcs8_private_keys, rsa_private_keys}; use rustls::{ AllowAnyAnonymousOrAuthenticatedClient, AllowAnyAuthenticatedClient, NoClientAuth, diff --git a/meilisearch-http/tests/settings/get_settings.rs b/meilisearch-http/tests/settings/get_settings.rs index 837c90cc1..2816ea38d 100644 --- a/meilisearch-http/tests/settings/get_settings.rs +++ b/meilisearch-http/tests/settings/get_settings.rs @@ -13,7 +13,14 @@ static DEFAULT_SETTINGS_VALUES: Lazy> = Lazy::new(| map.insert("distinct_attribute", json!(Value::Null)); map.insert( "ranking_rules", - json!(["words", "typo", "proximity", "attribute", "exactness"]), + json!([ + "words", + "typo", + "sort", + "proximity", + "attribute", + "exactness" + ]), ); map.insert("stop_words", json!([])); map.insert("synonyms", json!({})); @@ -42,7 +49,14 @@ async fn get_settings() { assert_eq!(settings["distinctAttribute"], json!(null)); assert_eq!( settings["rankingRules"], - json!(["words", "typo", "proximity", "attribute", "exactness"]) + json!([ + "words", + "typo", + "sort", + "proximity", + "attribute", + "exactness" + ]) ); assert_eq!(settings["stopWords"], json!([])); }