mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-23 02:27:40 +08:00
apply review suggestions
This commit is contained in:
parent
e79f6f87f6
commit
1479050f7a
@ -19,7 +19,7 @@ type Result<T> = std::result::Result<T, DocumentFormatError>;
|
|||||||
pub enum PayloadType {
|
pub enum PayloadType {
|
||||||
Ndjson,
|
Ndjson,
|
||||||
Json,
|
Json,
|
||||||
Csv(u8),
|
Csv { delimiter: u8 },
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Display for PayloadType {
|
impl fmt::Display for PayloadType {
|
||||||
@ -27,7 +27,7 @@ impl fmt::Display for PayloadType {
|
|||||||
match self {
|
match self {
|
||||||
PayloadType::Ndjson => f.write_str("ndjson"),
|
PayloadType::Ndjson => f.write_str("ndjson"),
|
||||||
PayloadType::Json => f.write_str("json"),
|
PayloadType::Json => f.write_str("json"),
|
||||||
PayloadType::Csv(_) => f.write_str("csv"),
|
PayloadType::Csv { .. } => f.write_str("csv"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -109,7 +109,7 @@ pub fn read_csv(file: &File, writer: impl Write + Seek, delimiter: u8) -> Result
|
|||||||
let mut builder = DocumentsBatchBuilder::new(writer);
|
let mut builder = DocumentsBatchBuilder::new(writer);
|
||||||
let mmap = unsafe { MmapOptions::new().map(file)? };
|
let mmap = unsafe { MmapOptions::new().map(file)? };
|
||||||
let csv = csv::ReaderBuilder::new().delimiter(delimiter).from_reader(mmap.as_ref());
|
let csv = csv::ReaderBuilder::new().delimiter(delimiter).from_reader(mmap.as_ref());
|
||||||
builder.append_csv(csv).map_err(|e| (PayloadType::Csv(delimiter), e))?;
|
builder.append_csv(csv).map_err(|e| (PayloadType::Csv { delimiter }, e))?;
|
||||||
|
|
||||||
let count = builder.documents_count();
|
let count = builder.documents_count();
|
||||||
let _ = builder.into_inner().map_err(DocumentFormatError::Io)?;
|
let _ = builder.into_inner().map_err(DocumentFormatError::Io)?;
|
||||||
|
@ -256,8 +256,8 @@ async fn document_addition(
|
|||||||
) {
|
) {
|
||||||
(Some(("application", "json")), None) => PayloadType::Json,
|
(Some(("application", "json")), None) => PayloadType::Json,
|
||||||
(Some(("application", "x-ndjson")), None) => PayloadType::Ndjson,
|
(Some(("application", "x-ndjson")), None) => PayloadType::Ndjson,
|
||||||
(Some(("text", "csv")), None) => PayloadType::Csv(b','),
|
(Some(("text", "csv")), None) => PayloadType::Csv { delimiter: b',' },
|
||||||
(Some(("text", "csv")), Some(delimiter)) => PayloadType::Csv(delimiter),
|
(Some(("text", "csv")), Some(delimiter)) => PayloadType::Csv { delimiter },
|
||||||
|
|
||||||
(Some(("application", "json")), Some(_)) => {
|
(Some(("application", "json")), Some(_)) => {
|
||||||
return Err(MeilisearchHttpError::CsvDelimiterWithWrongContentType(String::from(
|
return Err(MeilisearchHttpError::CsvDelimiterWithWrongContentType(String::from(
|
||||||
@ -320,7 +320,9 @@ async fn document_addition(
|
|||||||
let documents_count = tokio::task::spawn_blocking(move || {
|
let documents_count = tokio::task::spawn_blocking(move || {
|
||||||
let documents_count = match format {
|
let documents_count = match format {
|
||||||
PayloadType::Json => read_json(&read_file, update_file.as_file_mut())?,
|
PayloadType::Json => read_json(&read_file, update_file.as_file_mut())?,
|
||||||
PayloadType::Csv(delim) => read_csv(&read_file, update_file.as_file_mut(), delim)?,
|
PayloadType::Csv { delimiter } => {
|
||||||
|
read_csv(&read_file, update_file.as_file_mut(), delimiter)?
|
||||||
|
}
|
||||||
PayloadType::Ndjson => read_ndjson(&read_file, update_file.as_file_mut())?,
|
PayloadType::Ndjson => read_ndjson(&read_file, update_file.as_file_mut())?,
|
||||||
};
|
};
|
||||||
// we NEED to persist the file here because we moved the `udpate_file` in another task.
|
// we NEED to persist the file here because we moved the `udpate_file` in another task.
|
||||||
|
Loading…
Reference in New Issue
Block a user