mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-03 03:47:02 +02:00
get rids of the index crate + the document_types crate
This commit is contained in:
parent
f3ec39a769
commit
f456fb5e0b
30 changed files with 316 additions and 2207 deletions
|
@ -11,10 +11,7 @@ bincode = "1.3.3"
|
|||
csv = "1.1.6"
|
||||
file-store = { path = "../file-store" }
|
||||
log = "0.4.14"
|
||||
milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.33.0" }
|
||||
index = { path = "../index" }
|
||||
meilisearch-types = { path = "../meilisearch-types" }
|
||||
document-formats = { path = "../document-formats" }
|
||||
roaring = "0.9.0"
|
||||
serde = { version = "1.0.136", features = ["derive"] }
|
||||
serde_json = { version = "1.0.85", features = ["preserve_order"] }
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use milli::update::IndexDocumentsMethod::{self, ReplaceDocuments, UpdateDocuments};
|
||||
use meilisearch_types::milli::update::IndexDocumentsMethod::{
|
||||
self, ReplaceDocuments, UpdateDocuments,
|
||||
};
|
||||
use std::ops::ControlFlow::{self, Break, Continue};
|
||||
|
||||
use crate::{task::Kind, TaskId};
|
||||
|
|
|
@ -3,14 +3,19 @@ use crate::{
|
|||
task::{Details, Kind, KindWithContent, Status, Task},
|
||||
Error, IndexScheduler, Result, TaskId,
|
||||
};
|
||||
use index::apply_settings_to_builder;
|
||||
use index::error::IndexError;
|
||||
use index::{Settings, Unchecked};
|
||||
use log::{debug, info};
|
||||
use milli::heed::{RoTxn, RwTxn};
|
||||
use milli::update::IndexDocumentsConfig;
|
||||
use milli::update::{DocumentAdditionResult, DocumentDeletionResult, IndexDocumentsMethod};
|
||||
use milli::{documents::DocumentsBatchReader, BEU32};
|
||||
use meilisearch_types::milli::update::IndexDocumentsConfig;
|
||||
use meilisearch_types::milli::update::{
|
||||
DocumentAdditionResult, DocumentDeletionResult, IndexDocumentsMethod,
|
||||
};
|
||||
use meilisearch_types::milli::{
|
||||
self, documents::DocumentsBatchReader, update::Settings as MilliSettings, BEU32,
|
||||
};
|
||||
use meilisearch_types::settings::{apply_settings_to_builder, Settings, Unchecked};
|
||||
use meilisearch_types::{
|
||||
heed::{RoTxn, RwTxn},
|
||||
Index,
|
||||
};
|
||||
use roaring::RoaringBitmap;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
@ -527,7 +532,7 @@ impl IndexScheduler {
|
|||
|
||||
if let Some(primary_key) = primary_key.clone() {
|
||||
let mut index_wtxn = index.write_txn()?;
|
||||
let mut builder = milli::update::Settings::new(
|
||||
let mut builder = MilliSettings::new(
|
||||
&mut index_wtxn,
|
||||
&index,
|
||||
self.index_mapper.indexer_config(),
|
||||
|
@ -576,7 +581,7 @@ impl IndexScheduler {
|
|||
fn apply_index_operation<'txn, 'i>(
|
||||
&self,
|
||||
index_wtxn: &'txn mut RwTxn<'i, '_>,
|
||||
index: &'i milli::Index,
|
||||
index: &'i Index,
|
||||
operation: IndexOperation,
|
||||
) -> Result<Vec<Task>> {
|
||||
match operation {
|
||||
|
@ -639,7 +644,7 @@ impl IndexScheduler {
|
|||
for content_uuid in content_files.into_iter() {
|
||||
let content_file = self.file_store.get_update(content_uuid)?;
|
||||
let reader = DocumentsBatchReader::from_reader(content_file)
|
||||
.map_err(IndexError::from)?;
|
||||
.map_err(milli::Error::from)?;
|
||||
let (new_builder, user_result) = builder.add_documents(reader)?;
|
||||
builder = new_builder;
|
||||
|
||||
|
@ -648,7 +653,7 @@ impl IndexScheduler {
|
|||
indexed_documents: count,
|
||||
number_of_documents: count,
|
||||
}),
|
||||
Err(e) => Err(IndexError::from(e)),
|
||||
Err(e) => Err(milli::Error::from(e)),
|
||||
};
|
||||
|
||||
results.push(user_result);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
use meilisearch_types::error::{Code, ErrorCode};
|
||||
use milli::heed;
|
||||
use meilisearch_types::heed;
|
||||
use meilisearch_types::milli;
|
||||
use thiserror::Error;
|
||||
|
||||
use crate::TaskId;
|
||||
|
@ -26,8 +27,6 @@ pub enum Error {
|
|||
#[error(transparent)]
|
||||
Milli(#[from] milli::Error),
|
||||
#[error(transparent)]
|
||||
IndexError(#[from] index::error::IndexError),
|
||||
#[error(transparent)]
|
||||
FileStore(#[from] file_store::Error),
|
||||
#[error(transparent)]
|
||||
IoError(#[from] std::io::Error),
|
||||
|
@ -48,7 +47,6 @@ impl ErrorCode for Error {
|
|||
// TODO: TAMO: are all these errors really internal?
|
||||
Error::Heed(_) => Code::Internal,
|
||||
Error::Milli(_) => Code::Internal,
|
||||
Error::IndexError(_) => Code::Internal,
|
||||
Error::FileStore(_) => Code::Internal,
|
||||
Error::IoError(_) => Code::Internal,
|
||||
Error::Anyhow(_) => Code::Internal,
|
||||
|
|
|
@ -5,13 +5,12 @@ use std::sync::{Arc, RwLock};
|
|||
use std::{fs, thread};
|
||||
|
||||
use log::error;
|
||||
use milli::Index;
|
||||
use meilisearch_types::heed::types::{SerdeBincode, Str};
|
||||
use meilisearch_types::heed::{Database, Env, EnvOpenOptions, RoTxn, RwTxn};
|
||||
use meilisearch_types::milli::update::IndexerConfig;
|
||||
use meilisearch_types::milli::Index;
|
||||
use uuid::Uuid;
|
||||
|
||||
use milli::heed::types::{SerdeBincode, Str};
|
||||
use milli::heed::{Database, Env, EnvOpenOptions, RoTxn, RwTxn};
|
||||
use milli::update::IndexerConfig;
|
||||
|
||||
use self::IndexStatus::{Available, BeingDeleted};
|
||||
use crate::{Error, Result};
|
||||
|
||||
|
@ -70,7 +69,7 @@ impl IndexMapper {
|
|||
fs::create_dir_all(&index_path)?;
|
||||
let mut options = EnvOpenOptions::new();
|
||||
options.map_size(self.index_size);
|
||||
Ok(milli::Index::new(options, &index_path)?)
|
||||
Ok(Index::new(options, &index_path)?)
|
||||
}
|
||||
error => error,
|
||||
}
|
||||
|
@ -153,7 +152,7 @@ impl IndexMapper {
|
|||
fs::create_dir_all(&index_path)?;
|
||||
let mut options = EnvOpenOptions::new();
|
||||
options.map_size(self.index_size);
|
||||
let index = milli::Index::new(options, &index_path)?;
|
||||
let index = Index::new(options, &index_path)?;
|
||||
entry.insert(Available(index.clone()));
|
||||
index
|
||||
}
|
||||
|
|
|
@ -7,8 +7,6 @@ mod snapshot;
|
|||
pub mod task;
|
||||
mod utils;
|
||||
|
||||
pub use milli;
|
||||
|
||||
pub type Result<T> = std::result::Result<T, Error>;
|
||||
pub type TaskId = u32;
|
||||
|
||||
|
@ -26,10 +24,10 @@ use synchronoise::SignalEvent;
|
|||
use time::OffsetDateTime;
|
||||
use uuid::Uuid;
|
||||
|
||||
use milli::heed::types::{OwnedType, SerdeBincode, SerdeJson, Str};
|
||||
use milli::heed::{self, Database, Env};
|
||||
use milli::update::IndexerConfig;
|
||||
use milli::{Index, RoaringBitmapCodec, BEU32};
|
||||
use meilisearch_types::heed::types::{OwnedType, SerdeBincode, SerdeJson, Str};
|
||||
use meilisearch_types::heed::{self, Database, Env};
|
||||
use meilisearch_types::milli::update::IndexerConfig;
|
||||
use meilisearch_types::milli::{Index, RoaringBitmapCodec, BEU32};
|
||||
|
||||
use crate::index_mapper::IndexMapper;
|
||||
use crate::task::Task;
|
||||
|
@ -452,7 +450,7 @@ impl IndexScheduler {
|
|||
mod tests {
|
||||
use big_s::S;
|
||||
use insta::*;
|
||||
use milli::update::IndexDocumentsMethod::ReplaceDocuments;
|
||||
use meilisearch_types::milli::update::IndexDocumentsMethod::ReplaceDocuments;
|
||||
use tempfile::TempDir;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
@ -512,7 +510,8 @@ mod tests {
|
|||
.create_update_file_with_uuid(file_uuid)
|
||||
.unwrap();
|
||||
let documents_count =
|
||||
document_formats::read_json(content.as_bytes(), file.as_file_mut()).unwrap() as u64;
|
||||
meilisearch_types::document_formats::read_json(content.as_bytes(), file.as_file_mut())
|
||||
.unwrap() as u64;
|
||||
(file, documents_count)
|
||||
}
|
||||
|
||||
|
@ -779,7 +778,8 @@ mod tests {
|
|||
|
||||
let (uuid, mut file) = index_scheduler.create_update_file_with_uuid(0).unwrap();
|
||||
let documents_count =
|
||||
document_formats::read_json(content.as_bytes(), file.as_file_mut()).unwrap() as u64;
|
||||
meilisearch_types::document_formats::read_json(content.as_bytes(), file.as_file_mut())
|
||||
.unwrap() as u64;
|
||||
index_scheduler
|
||||
.register(KindWithContent::DocumentImport {
|
||||
index_uid: S("doggos"),
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
use milli::{
|
||||
heed::{
|
||||
types::{OwnedType, SerdeBincode, SerdeJson, Str},
|
||||
Database, RoTxn,
|
||||
},
|
||||
RoaringBitmapCodec, BEU32,
|
||||
use meilisearch_types::heed::{
|
||||
types::{OwnedType, SerdeBincode, SerdeJson, Str},
|
||||
Database, RoTxn,
|
||||
};
|
||||
use meilisearch_types::milli::{RoaringBitmapCodec, BEU32};
|
||||
use roaring::RoaringBitmap;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use anyhow::Result;
|
||||
use index::{Settings, Unchecked};
|
||||
use meilisearch_types::error::ResponseError;
|
||||
use milli::update::IndexDocumentsMethod;
|
||||
use meilisearch_types::milli::update::IndexDocumentsMethod;
|
||||
use meilisearch_types::settings::{Settings, Unchecked};
|
||||
|
||||
use serde::{Deserialize, Serialize, Serializer};
|
||||
use std::{
|
||||
|
@ -543,7 +543,7 @@ fn serialize_duration<S: Serializer>(
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use milli::heed::{types::SerdeJson, BytesDecode, BytesEncode};
|
||||
use meilisearch_types::heed::{types::SerdeJson, BytesDecode, BytesEncode};
|
||||
|
||||
use crate::assert_smol_debug_snapshot;
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
//! Utility functions on the DBs. Mainly getter and setters.
|
||||
|
||||
use milli::{
|
||||
heed::{types::DecodeIgnore, RoTxn, RwTxn},
|
||||
BEU32,
|
||||
};
|
||||
use meilisearch_types::heed::{types::DecodeIgnore, RoTxn, RwTxn};
|
||||
use meilisearch_types::milli::BEU32;
|
||||
use roaring::RoaringBitmap;
|
||||
|
||||
use crate::{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue