|
1 | 1 | use std::borrow::Cow;
|
2 | 2 | use std::collections::HashSet;
|
3 | 3 | use std::fs::File;
|
4 |
| -use std::io::{self, BufRead, BufReader, Seek, SeekFrom}; |
| 4 | +use std::io::{self, BufRead, BufReader, Seek, SeekFrom, Read}; |
5 | 5 | use std::num::{NonZeroU32, NonZeroUsize};
|
6 | 6 | use std::result::Result as StdResult;
|
7 | 7 | use std::str;
|
@@ -329,7 +329,7 @@ impl<'t, 'u, 'i, 'a> IndexDocuments<'t, 'u, 'i, 'a> {
|
329 | 329 |
|
330 | 330 | pub fn execute<R, F>(self, reader: R, progress_callback: F) -> Result<DocumentAdditionResult>
|
331 | 331 | where
|
332 |
| - R: io::Read, |
| 332 | + R: Read + Seek, |
333 | 333 | F: Fn(UpdateIndexingStep, u64) + Sync,
|
334 | 334 | {
|
335 | 335 | let mut reader = BufReader::new(reader);
|
@@ -358,14 +358,7 @@ impl<'t, 'u, 'i, 'a> IndexDocuments<'t, 'u, 'i, 'a> {
|
358 | 358 | autogenerate_docids: self.autogenerate_docids,
|
359 | 359 | };
|
360 | 360 |
|
361 |
| - let output = match self.update_format { |
362 |
| - UpdateFormat::Csv => transform.output_from_csv(reader, &progress_callback)?, |
363 |
| - UpdateFormat::Json => transform.output_from_json(reader, &progress_callback)?, |
364 |
| - UpdateFormat::JsonStream => { |
365 |
| - transform.output_from_json_stream(reader, &progress_callback)? |
366 |
| - } |
367 |
| - }; |
368 |
| - |
| 361 | + let output = transform.read_documents(reader, progress_callback)?; |
369 | 362 | let nb_documents = output.documents_count;
|
370 | 363 |
|
371 | 364 | info!("Update transformed in {:.02?}", before_transform.elapsed());
|
|
0 commit comments