refactor: address 5-pass audit findings for antipatterns, bottlenecks, memory efficiency, and LLM handlers
This commit is contained in:
1 parent
626403900f
commit
924b6d09fa
30 files changed
+1120
-503
No files matched your search
@@ -57,6 +57,37 @@ impl MemoryIndex {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn new_in_ram() -> tantivy::Result<Self> {
|
||||
let mut schema_builder = Schema::builder();
|
||||
let id_field = schema_builder.add_text_field("id", STRING | STORED);
|
||||
let title_field = schema_builder.add_text_field("title", TEXT | STORED);
|
||||
let body_field = schema_builder.add_text_field("body", TEXT | STORED);
|
||||
let type_field = schema_builder.add_text_field("type", STRING | STORED);
|
||||
let namespace_field = schema_builder.add_text_field("namespace", STRING | STORED);
|
||||
let schema = schema_builder.build();
|
||||
|
||||
let index = Index::create_in_ram(schema);
|
||||
let mut writer = index.writer(50_000_000)?;
|
||||
writer.delete_all_documents()?;
|
||||
writer.commit()?;
|
||||
let reader = index
|
||||
.reader_builder()
|
||||
.reload_policy(ReloadPolicy::OnCommitWithDelay)
|
||||
.try_into()?;
|
||||
|
||||
Ok(Self {
|
||||
index,
|
||||
reader,
|
||||
writer: Arc::new(Mutex::new(writer)),
|
||||
needs_commit: Arc::new(std::sync::atomic::AtomicBool::new(false)),
|
||||
id_field,
|
||||
title_field,
|
||||
body_field,
|
||||
type_field,
|
||||
namespace_field,
|
||||
})
|
||||
}
|
||||
|
||||
pub fn index_entity(&self, e: &Entity) -> tokio::task::JoinHandle<tantivy::Result<()>> {
|
||||
let writer = Arc::clone(&self.writer);
|
||||
let id_field = self.id_field;
|
||||
|
||||
Reference in new issue
Block a user