pub mod backend;
pub mod indexer;
pub mod model;
pub mod service;
pub mod state_plugin;
pub mod step_registry;
pub use backend::{IndexMutation, TantivyBackend, SearchQuery};
pub use service::{IndexService, IndexEvent, RebuildScope, event_from_transaction};
use std::sync::Arc;
use std::path::Path;
use crate::step_registry::ensure_default_step_indexers;
pub fn create_tantivy_service(
index_dir: &Path
) -> anyhow::Result<IndexService> {
ensure_default_step_indexers();
let backend = Arc::new(TantivyBackend::new_in_dir(index_dir)?);
Ok(IndexService::new(backend))
}
pub fn create_tantivy_service_in_temp_root(
temp_root: &Path
) -> anyhow::Result<IndexService> {
ensure_default_step_indexers();
let backend = Arc::new(TantivyBackend::new_in_temp_root(temp_root)?);
Ok(IndexService::new(backend))
}