From f5d57c9dce5684c5ca453c3b4a8818d81c529ec3 Mon Sep 17 00:00:00 2001 From: Pedro Paulo de Amorim Date: Tue, 31 Mar 2020 23:06:39 +0100 Subject: [PATCH] Replace the toml reader with the JSON settings reader, directly parse the data to SettingsUpdate, Update CHANGELOG --- CHANGELOG.md | 1 + datasets/movies/settings.json | 1 - meilisearch-core/benches/search_benchmark.rs | 21 ++++++++++++++------ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e587f4eed..1b80e413d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,3 +4,4 @@ - Add support for aligned crop in search result (#543) - Sanitize the content displayed in the web interface (#539) - Add support of nested null, boolean and seq values (#571 and #568, #574) + - Fixed the core benchmark (#576) diff --git a/datasets/movies/settings.json b/datasets/movies/settings.json index 24007f838..53071c7f5 100644 --- a/datasets/movies/settings.json +++ b/datasets/movies/settings.json @@ -1,5 +1,4 @@ { - "primaryKey": "id", "searchableAttributes": ["title", "overview"], "displayedAttributes": [ "id", diff --git a/meilisearch-core/benches/search_benchmark.rs b/meilisearch-core/benches/search_benchmark.rs index 568442ea0..b81101f47 100644 --- a/meilisearch-core/benches/search_benchmark.rs +++ b/meilisearch-core/benches/search_benchmark.rs @@ -4,11 +4,13 @@ extern crate assert_matches; use std::sync::mpsc; use std::path::Path; -use std::fs; +use std::{fs, fs::File, io::BufReader}; use std::iter; use meilisearch_core::Database; use meilisearch_core::{ProcessedUpdateResult, UpdateStatus}; +use meilisearch_core::settings::{Settings, SettingsUpdate, UpdateState}; +use meilisearch_schema::Schema; use serde_json::Value; use criterion::{criterion_group, criterion_main, Criterion, BenchmarkId}; @@ -24,15 +26,22 @@ fn prepare_database(path: &Path) -> Database { let index = database.create_index("bench").unwrap(); database.set_update_callback(Box::new(update_fn)); + + let mut writer = db.main_write_txn().unwrap(); + index.main.put_schema(&mut writer, &Schema::with_primary_key("id")).unwrap(); + writer.commit().unwrap(); - let schema = { - let path = concat!(env!("CARGO_MANIFEST_DIR"), "/../datasets/movies/schema.toml"); - let string = fs::read_to_string(path).expect("find schema"); - toml::from_str(&string).unwrap() + let settings_update: SettingsUpdate = { + let path = concat!(env!("CARGO_MANIFEST_DIR"), "/../datasets/movies/settings.json"); + let file = File::open(path).unwrap(); + let reader = BufReader::new(file); + let settings: Settings = serde_json::from_reader(reader).unwrap(); + settings.into_update().unwrap() }; let mut update_writer = db.update_write_txn().unwrap(); - let _update_id = index.schema_update(&mut update_writer, schema).unwrap(); + let _update_id = index.settings_update(&mut update_writer, settings_update).unwrap(); + update_writer.commit().unwrap(); let mut additions = index.documents_addition();