web_search/lib.rs
1//! Web Search - Multi-provider web search aggregator
2//!
3//! A library for aggregating search results from multiple search engines
4//! (Google, DuckDuckGo, Bing) with support for result merging and reranking.
5//!
6//! # Example
7//!
8//! ```no_run
9//! use web_search::{WebSearchEngine, SearchOptions};
10//!
11//! #[tokio::main]
12//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
13//! let engine = WebSearchEngine::new();
14//! let results = engine.search("rust programming", SearchOptions::default()).await?;
15//!
16//! for result in results {
17//! println!("{}: {}", result.title, result.url);
18//! }
19//! Ok(())
20//! }
21//! ```
22
23pub mod error;
24pub mod merger;
25pub mod providers;
26pub mod search;
27
28pub use error::SearchError;
29pub use merger::{MergeOptions, MergeStrategy};
30pub use providers::{
31 get_default_provider_ids, get_provider_ids, get_registry, is_known_category, RegistryEntry,
32 SearchOptions, SearchResult, CATEGORIES,
33};
34pub use search::{WebSearchConfig, WebSearchEngine};