mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 09:56:28 +00:00 
			
		
		
		
	Fix the indexation tests
This commit is contained in:
		@@ -141,7 +141,12 @@ where
 | 
			
		||||
        // We check for user errors in this validator and if there is one, we can return
 | 
			
		||||
        // the `IndexDocument` struct as it is valid to send more documents into it.
 | 
			
		||||
        // However, if there is an internal error we throw it away!
 | 
			
		||||
        let reader = match validate_documents_batch(self.wtxn, self.index, reader)? {
 | 
			
		||||
        let reader = match validate_documents_batch(
 | 
			
		||||
            self.wtxn,
 | 
			
		||||
            self.index,
 | 
			
		||||
            self.config.autogenerate_docids,
 | 
			
		||||
            reader,
 | 
			
		||||
        )? {
 | 
			
		||||
            Ok(reader) => reader,
 | 
			
		||||
            Err(user_error) => return Ok((self, Err(user_error))),
 | 
			
		||||
        };
 | 
			
		||||
@@ -626,10 +631,11 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -642,10 +648,11 @@ mod tests {
 | 
			
		||||
        // Second we send 1 document with id 1, to erase the previous ones.
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let content = documents!([ { "id": 1, "name": "updated kevin" } ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -662,9 +669,11 @@ mod tests {
 | 
			
		||||
            { "id": 2, "name": "updated kevina" },
 | 
			
		||||
            { "id": 3, "name": "updated benoit" }
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
        // Check that there is **always** 3 documents.
 | 
			
		||||
@@ -694,10 +703,11 @@ mod tests {
 | 
			
		||||
            update_method: IndexDocumentsMethod::UpdateDocuments,
 | 
			
		||||
            ..Default::default()
 | 
			
		||||
        };
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -722,9 +732,10 @@ mod tests {
 | 
			
		||||
        // Second we send 1 document with id 1, to force it to be merged with the previous one.
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let content = documents!([ { "id": 1, "age": 25 } ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -765,7 +776,7 @@ mod tests {
 | 
			
		||||
        ]);
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        assert!(builder.add_documents(content).is_err());
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -794,10 +805,11 @@ mod tests {
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config =
 | 
			
		||||
            IndexDocumentsConfig { autogenerate_docids: true, ..Default::default() };
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -814,9 +826,10 @@ mod tests {
 | 
			
		||||
        // Second we send 1 document with the generated uuid, to erase the previous ones.
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let content = documents!([ { "name": "updated kevin", "id": kevin_uuid } ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -856,9 +869,10 @@ mod tests {
 | 
			
		||||
        ]);
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -873,9 +887,10 @@ mod tests {
 | 
			
		||||
        let content = documents!([ { "name": "new kevin" } ]);
 | 
			
		||||
        let indexing_config =
 | 
			
		||||
            IndexDocumentsConfig { autogenerate_docids: true, ..Default::default() };
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -898,9 +913,10 @@ mod tests {
 | 
			
		||||
        let content = documents!([]);
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -924,7 +940,7 @@ mod tests {
 | 
			
		||||
        let content = documents!([ { "id": "brume bleue", "name": "kevin" } ]);
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        assert!(builder.add_documents(content).is_err());
 | 
			
		||||
@@ -934,9 +950,10 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        // There is a space in the document id.
 | 
			
		||||
        let content = documents!([ { "id": 32, "name": "kevin" } ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -963,9 +980,10 @@ mod tests {
 | 
			
		||||
        ]);
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1009,9 +1027,10 @@ mod tests {
 | 
			
		||||
            update_method: IndexDocumentsMethod::ReplaceDocuments,
 | 
			
		||||
            ..Default::default()
 | 
			
		||||
        };
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1020,7 +1039,7 @@ mod tests {
 | 
			
		||||
            update_method: IndexDocumentsMethod::UpdateDocuments,
 | 
			
		||||
            ..Default::default()
 | 
			
		||||
        };
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        let documents = documents!([
 | 
			
		||||
          {
 | 
			
		||||
@@ -1030,7 +1049,8 @@ mod tests {
 | 
			
		||||
          }
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
    }
 | 
			
		||||
@@ -1057,9 +1077,10 @@ mod tests {
 | 
			
		||||
            update_method: IndexDocumentsMethod::ReplaceDocuments,
 | 
			
		||||
            ..Default::default()
 | 
			
		||||
        };
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| ()).unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1099,10 +1120,11 @@ mod tests {
 | 
			
		||||
          { "id": 2, "_geo": { "lng": "42" }, "_geo.lat": "31" },
 | 
			
		||||
          { "id": 3, "_geo.lat": 31, "_geo.lng": "42" },
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1138,10 +1160,11 @@ mod tests {
 | 
			
		||||
        let documents = documents!([
 | 
			
		||||
          { "id": 0, "_geo": { "lng": 42 } }
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        let error = builder.execute().unwrap_err();
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            &error.to_string(),
 | 
			
		||||
@@ -1151,10 +1174,11 @@ mod tests {
 | 
			
		||||
        let documents = documents!([
 | 
			
		||||
          { "id": 0, "_geo": { "lat": 42 } }
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        let error = builder.execute().unwrap_err();
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            &error.to_string(),
 | 
			
		||||
@@ -1164,10 +1188,11 @@ mod tests {
 | 
			
		||||
        let documents = documents!([
 | 
			
		||||
          { "id": 0, "_geo": { "lat": "lol", "lng": 42 } }
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        let error = builder.execute().unwrap_err();
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            &error.to_string(),
 | 
			
		||||
@@ -1177,10 +1202,11 @@ mod tests {
 | 
			
		||||
        let documents = documents!([
 | 
			
		||||
          { "id": 0, "_geo": { "lat": [12, 13], "lng": 42 } }
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        let error = builder.execute().unwrap_err();
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            &error.to_string(),
 | 
			
		||||
@@ -1190,10 +1216,11 @@ mod tests {
 | 
			
		||||
        let documents = documents!([
 | 
			
		||||
          { "id": 0, "_geo": { "lat": 12, "lng": "hello" } }
 | 
			
		||||
        ]);
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(documents).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(documents).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        let error = builder.execute().unwrap_err();
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            &error.to_string(),
 | 
			
		||||
@@ -1217,10 +1244,11 @@ mod tests {
 | 
			
		||||
        ]);
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        assert_eq!(index.primary_key(&wtxn).unwrap(), Some("objectId"));
 | 
			
		||||
@@ -1237,10 +1265,11 @@ mod tests {
 | 
			
		||||
            { "objectId": 30,  "title": "Hamlet", "_geo": { "lat": 12, "lng": 89 } }
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        let external_documents_ids = index.external_documents_ids(&wtxn).unwrap();
 | 
			
		||||
        assert!(external_documents_ids.get("30").is_some());
 | 
			
		||||
@@ -1249,10 +1278,11 @@ mod tests {
 | 
			
		||||
            { "objectId": 30,  "title": "Hamlet", "_geo": { "lat": 12, "lng": 89 } }
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1281,10 +1311,11 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1315,10 +1346,11 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1373,10 +1405,11 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1426,10 +1459,11 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1558,10 +1592,11 @@ mod tests {
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1628,10 +1663,11 @@ mod tests {
 | 
			
		||||
        // index the documents
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1720,10 +1756,11 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1737,10 +1774,11 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1759,10 +1797,11 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1787,10 +1826,11 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
 | 
			
		||||
@@ -1832,10 +1872,11 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
    }
 | 
			
		||||
@@ -1870,10 +1911,11 @@ mod tests {
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        // Create one long document
 | 
			
		||||
@@ -1884,10 +1926,11 @@ mod tests {
 | 
			
		||||
        // Index this one long document
 | 
			
		||||
        let config = IndexerConfig::default();
 | 
			
		||||
        let indexing_config = IndexDocumentsConfig::default();
 | 
			
		||||
        let mut builder =
 | 
			
		||||
        let builder =
 | 
			
		||||
            IndexDocuments::new(&mut wtxn, &index, &config, indexing_config.clone(), |_| ())
 | 
			
		||||
                .unwrap();
 | 
			
		||||
        builder.add_documents(content).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(content).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
        wtxn.commit().unwrap();
 | 
			
		||||
@@ -1901,7 +1944,7 @@ mod tests {
 | 
			
		||||
        let index = Index::new(options, tmp).unwrap();
 | 
			
		||||
        let mut wtxn = index.write_txn().unwrap();
 | 
			
		||||
        let indexer_config = IndexerConfig::default();
 | 
			
		||||
        let mut builder = IndexDocuments::new(
 | 
			
		||||
        let builder = IndexDocuments::new(
 | 
			
		||||
            &mut wtxn,
 | 
			
		||||
            &index,
 | 
			
		||||
            &indexer_config,
 | 
			
		||||
@@ -1930,8 +1973,10 @@ mod tests {
 | 
			
		||||
            "branch_id_number": 0
 | 
			
		||||
        }]};
 | 
			
		||||
 | 
			
		||||
        builder.add_documents(doc1).unwrap();
 | 
			
		||||
        builder.add_documents(doc2).unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(doc1).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
        let (builder, user_error) = builder.add_documents(doc2).unwrap();
 | 
			
		||||
        user_error.unwrap();
 | 
			
		||||
 | 
			
		||||
        builder.execute().unwrap();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ use crate::{Index, Result};
 | 
			
		||||
pub fn validate_documents_batch<R: Read + Seek>(
 | 
			
		||||
    rtxn: &heed::RoTxn,
 | 
			
		||||
    index: &Index,
 | 
			
		||||
    autogenerate_docids: bool,
 | 
			
		||||
    reader: DocumentsBatchReader<R>,
 | 
			
		||||
) -> Result<StdResult<DocumentsBatchReader<R>, UserError>> {
 | 
			
		||||
    let mut cursor = reader.into_cursor();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user