Compare commits

...

10 Commits

Author SHA1 Message Date
572608c121 Merge #3532
3532: Update version for the next release (v1.0.2) in Cargo.toml files r=curquiza a=meili-bot

⚠️ This PR is automatically generated. Check the new version is the expected one before merging.

Co-authored-by: ManyTheFish <ManyTheFish@users.noreply.github.com>
2023-02-23 13:52:56 +00:00
55a13c4bcc Merge #3531
3531: V1.0.2 changes r=Kerollmops a=ManyTheFish

# Pull Request

## Related issue
Fixes #3517 
Fixes #3526 
Fixes #3521

## What does this PR do?
- update milli
- report the changes done in the following PR: https://github.com/meilisearch/meilisearch/pull/3530



Co-authored-by: ManyTheFish <many@meilisearch.com>
2023-02-23 13:07:49 +00:00
de1f0114bf Update version for the next release (v1.0.2) in Cargo.toml files 2023-02-22 17:27:08 +00:00
6870c45285 create a char map diring highlighting 2023-02-22 18:21:47 +01:00
3a3acd5126 update milli 2023-02-22 18:09:10 +01:00
b43b4cf4b9 Merge #3528
3528: Fix a bug where the filestore could try to parse its own tmp file and fail r=irevoire a=irevoire

Fixes  #3502

The bug is that, while receiving an update, the file store create a temporary file named something like `.tmpX123Y456Z`.
And then, when asking for the list of uuids available in the task store, we were trying to parse this kind of filename as an `uuidv4` instead of ignoring them.

This bug has been introduced in the v1.0 of meilisearch and only affects the global stats route.

Co-authored-by: Tamo <tamo@meilisearch.com>
2023-02-22 13:52:56 +00:00
d4773bda77 fix a bug where the filestore could try to parse its own tmp file and fail 2023-02-22 14:51:23 +01:00
cf1db80348 Merge #3501
3501: Update milli 0.41.2 r=curquiza a=ManyTheFish

# Pull Request

- [Update milli 0.41.2](51d144bb28)

- [update meilisearch v1.0.1](9e5ef14a25)

Fixes #3483


Co-authored-by: ManyTheFish <many@meilisearch.com>
2023-02-15 14:59:27 +00:00
9e5ef14a25 update meilisearch v1.0.1 2023-02-15 15:53:08 +01:00
51d144bb28 Update milli 0.41.2 2023-02-15 15:43:22 +01:00
11 changed files with 73 additions and 31 deletions

32
Cargo.lock generated
View File

@ -1070,7 +1070,7 @@ dependencies = [
[[package]]
name = "dump"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"anyhow",
"big_s",
@ -1278,7 +1278,7 @@ dependencies = [
[[package]]
name = "file-store"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"faux",
"tempfile",
@ -1300,8 +1300,8 @@ dependencies = [
[[package]]
name = "filter-parser"
version = "0.41.1"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.1#758b4acea7cecd689650bee65949b49cf09ddaa3"
version = "0.41.3"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.3#e021bc119effbfad3fb8ec2ae57c99c1f45cb08b"
dependencies = [
"nom",
"nom_locate",
@ -1319,8 +1319,8 @@ dependencies = [
[[package]]
name = "flatten-serde-json"
version = "0.41.1"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.1#758b4acea7cecd689650bee65949b49cf09ddaa3"
version = "0.41.3"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.3#e021bc119effbfad3fb8ec2ae57c99c1f45cb08b"
dependencies = [
"serde_json",
]
@ -1737,7 +1737,7 @@ dependencies = [
[[package]]
name = "index-scheduler"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"anyhow",
"big_s",
@ -1884,8 +1884,8 @@ dependencies = [
[[package]]
name = "json-depth-checker"
version = "0.41.1"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.1#758b4acea7cecd689650bee65949b49cf09ddaa3"
version = "0.41.3"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.3#e021bc119effbfad3fb8ec2ae57c99c1f45cb08b"
dependencies = [
"serde_json",
]
@ -2264,7 +2264,7 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
[[package]]
name = "meili-snap"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"insta",
"md5",
@ -2273,7 +2273,7 @@ dependencies = [
[[package]]
name = "meilisearch"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"actix-cors",
"actix-http",
@ -2361,7 +2361,7 @@ dependencies = [
[[package]]
name = "meilisearch-auth"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"base64 0.13.1",
"enum-iterator",
@ -2379,7 +2379,7 @@ dependencies = [
[[package]]
name = "meilisearch-types"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"actix-web",
"anyhow",
@ -2433,8 +2433,8 @@ dependencies = [
[[package]]
name = "milli"
version = "0.41.1"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.1#758b4acea7cecd689650bee65949b49cf09ddaa3"
version = "0.41.3"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.41.3#e021bc119effbfad3fb8ec2ae57c99c1f45cb08b"
dependencies = [
"bimap",
"bincode",
@ -2751,7 +2751,7 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
[[package]]
name = "permissive-json-pointer"
version = "1.0.0"
version = "1.0.2"
dependencies = [
"big_s",
"serde_json",

View File

@ -1,6 +1,6 @@
[package]
name = "dump"
version = "1.0.0"
version = "1.0.2"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "file-store"
version = "1.0.0"
version = "1.0.2"
edition = "2021"
[dependencies]

View File

@ -116,10 +116,20 @@ impl FileStore {
/// List the Uuids of the files in the FileStore
pub fn all_uuids(&self) -> Result<impl Iterator<Item = Result<Uuid>>> {
Ok(self.path.read_dir()?.map(|entry| {
Ok(Uuid::from_str(
entry?.file_name().to_str().ok_or(Error::CouldNotParseFileNameAsUtf8)?,
)?)
Ok(self.path.read_dir()?.filter_map(|entry| {
let file_name = match entry {
Ok(entry) => entry.file_name(),
Err(e) => return Some(Err(e.into())),
};
let file_name = match file_name.to_str() {
Some(file_name) => file_name,
None => return Some(Err(Error::CouldNotParseFileNameAsUtf8)),
};
if file_name.starts_with('.') {
None
} else {
Some(Uuid::from_str(file_name).map_err(|e| e.into()))
}
}))
}
}
@ -135,3 +145,34 @@ impl File {
Ok(())
}
}
#[cfg(test)]
mod test {
use std::io::Write;
use tempfile::TempDir;
use super::*;
#[test]
fn all_uuids() {
let dir = TempDir::new().unwrap();
let fs = FileStore::new(dir.path()).unwrap();
let (uuid, mut file) = fs.new_update().unwrap();
file.write_all(b"Hello world").unwrap();
file.persist().unwrap();
let all_uuids = fs.all_uuids().unwrap().collect::<Result<Vec<_>>>().unwrap();
assert_eq!(all_uuids, vec![uuid]);
let (uuid2, file) = fs.new_update().unwrap();
let all_uuids = fs.all_uuids().unwrap().collect::<Result<Vec<_>>>().unwrap();
assert_eq!(all_uuids, vec![uuid]);
file.persist().unwrap();
let mut all_uuids = fs.all_uuids().unwrap().collect::<Result<Vec<_>>>().unwrap();
all_uuids.sort();
let mut expected = vec![uuid, uuid2];
expected.sort();
assert_eq!(all_uuids, expected);
}
}

View File

@ -1,6 +1,6 @@
[package]
name = "index-scheduler"
version = "1.0.0"
version = "1.0.2"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "meili-snap"
version = "1.0.0"
version = "1.0.2"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "meilisearch-auth"
version = "1.0.0"
version = "1.0.2"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "meilisearch-types"
version = "1.0.0"
version = "1.0.2"
authors = ["marin <postma.marin@protonmail.com>"]
edition = "2021"
@ -16,7 +16,7 @@ file-store = { path = "../file-store" }
flate2 = "1.0.24"
fst = "0.4.7"
memmap2 = "0.5.7"
milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.41.1", default-features = false }
milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.41.3", default-features = false }
roaring = { version = "0.10.0", features = ["serde"] }
serde = { version = "1.0.145", features = ["derive"] }
serde-cs = "0.2.4"

View File

@ -4,7 +4,7 @@ description = "Meilisearch HTTP server"
edition = "2021"
license = "MIT"
name = "meilisearch"
version = "1.0.0"
version = "1.0.2"
[dependencies]
actix-cors = "0.6.3"

View File

@ -243,9 +243,10 @@ pub fn perform_search(
&displayed_ids,
);
let tokenizer = TokenizerBuilder::default().build();
let mut tokenizer_buidler = TokenizerBuilder::default();
tokenizer_buidler.create_char_map(true);
let mut formatter_builder = MatcherBuilder::new(matching_words, tokenizer);
let mut formatter_builder = MatcherBuilder::new(matching_words, tokenizer_buidler.build());
formatter_builder.crop_marker(query.crop_marker);
formatter_builder.highlight_prefix(query.highlight_pre_tag);
formatter_builder.highlight_suffix(query.highlight_post_tag);

View File

@ -1,6 +1,6 @@
[package]
name = "permissive-json-pointer"
version = "1.0.0"
version = "1.0.2"
edition = "2021"
description = "A permissive json pointer"
readme = "README.md"