Compare commits

..

2 Commits

7 changed files with 14 additions and 22 deletions

10
Cargo.lock generated
View File

@ -2509,7 +2509,7 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]] [[package]]
name = "letterbox" name = "letterbox"
version = "0.0.64" version = "0.0.65"
dependencies = [ dependencies = [
"build-info", "build-info",
"build-info-build", "build-info-build",
@ -3024,7 +3024,7 @@ dependencies = [
[[package]] [[package]]
name = "notmuch" name = "notmuch"
version = "0.0.64" version = "0.0.65"
dependencies = [ dependencies = [
"itertools 0.10.5", "itertools 0.10.5",
"log", "log",
@ -3810,7 +3810,7 @@ dependencies = [
[[package]] [[package]]
name = "procmail2notmuch" name = "procmail2notmuch"
version = "0.0.64" version = "0.0.65"
dependencies = [ dependencies = [
"anyhow", "anyhow",
] ]
@ -4782,7 +4782,7 @@ dependencies = [
[[package]] [[package]]
name = "server" name = "server"
version = "0.0.64" version = "0.0.65"
dependencies = [ dependencies = [
"ammonia", "ammonia",
"anyhow", "anyhow",
@ -4882,7 +4882,7 @@ dependencies = [
[[package]] [[package]]
name = "shared" name = "shared"
version = "0.0.64" version = "0.0.65"
dependencies = [ dependencies = [
"build-info", "build-info",
"notmuch", "notmuch",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "notmuch" name = "notmuch"
version = "0.0.64" version = "0.0.65"
edition = "2021" edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package] [package]
name = "procmail2notmuch" name = "procmail2notmuch"
version = "0.0.64" version = "0.0.65"
edition = "2021" edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package] [package]
name = "server" name = "server"
version = "0.0.64" version = "0.0.65"
edition = "2021" edition = "2021"
default-run = "server" default-run = "server"

View File

@ -9,7 +9,7 @@ use tantivy::{
schema::{Facet, IndexRecordOption, Value}, schema::{Facet, IndexRecordOption, Value},
DocAddress, Index, IndexReader, Searcher, TantivyDocument, TantivyError, Term, DocAddress, Index, IndexReader, Searcher, TantivyDocument, TantivyError, Term,
}; };
use tracing::instrument; use tracing::{info_span, instrument};
use crate::{ use crate::{
compute_offset_limit, compute_offset_limit,
@ -110,13 +110,13 @@ impl TantivyConnection {
.collect(); .collect();
self.reindex_uids(pool, &uids).await self.reindex_uids(pool, &uids).await
} }
#[instrument(skip(self, pool))]
async fn reindex_uids(&self, pool: &PgPool, uids: &[String]) -> Result<(), ServerError> { async fn reindex_uids(&self, pool: &PgPool, uids: &[String]) -> Result<(), ServerError> {
if uids.is_empty() { if uids.is_empty() {
return Ok(()); return Ok(());
} }
// TODO: add SlurpContents and convert HTML to text // TODO: add SlurpContents and convert HTML to text
let start_time = std::time::Instant::now();
let pool: &PgPool = pool; let pool: &PgPool = pool;
let mut index_writer = self.index.writer(50_000_000)?; let mut index_writer = self.index.writer(50_000_000)?;
@ -145,13 +145,6 @@ impl TantivyConnection {
} }
let total = rows.len(); let total = rows.len();
for (i, r) in rows.into_iter().enumerate() { for (i, r) in rows.into_iter().enumerate() {
if i % 10_000 == 0 {
info!(
"{i}/{total} processed, elapsed {:.2}s",
start_time.elapsed().as_secs_f32()
);
}
let id_term = Term::from_field_text(uid, &r.uid); let id_term = Term::from_field_text(uid, &r.uid);
index_writer.delete_term(id_term); index_writer.delete_term(id_term);
let slug = r.site; let slug = r.site;
@ -170,9 +163,8 @@ impl TantivyConnection {
))?; ))?;
} }
info!("took {:.2}s to reindex", start_time.elapsed().as_secs_f32()); info_span!("IndexWriter.commit").in_scope(|| index_writer.commit())?;
info_span!("IndexReader.reload").in_scope(|| self.reader.reload())?;
index_writer.commit()?;
Ok(()) Ok(())
} }
#[instrument(name = "tantivy::reindex_thread", skip_all, fields(query=%query))] #[instrument(name = "tantivy::reindex_thread", skip_all, fields(query=%query))]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "shared" name = "shared"
version = "0.0.64" version = "0.0.65"
edition = "2021" edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,5 +1,5 @@
[package] [package]
version = "0.0.64" version = "0.0.65"
name = "letterbox" name = "letterbox"
repository = "https://github.com/seed-rs/seed-quickstart" repository = "https://github.com/seed-rs/seed-quickstart"
authors = ["Bill Thiede <git@xinu.tv>"] authors = ["Bill Thiede <git@xinu.tv>"]