Compare commits
2 Commits
7a1dec03a3
...
94c03a9c7c
| Author | SHA1 | Date | |
|---|---|---|---|
| 94c03a9c7c | |||
| 4f4e474e66 |
10
Cargo.lock
generated
10
Cargo.lock
generated
@ -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",
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
|
|||||||
@ -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))]
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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>"]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user