pub struct LocalSearchProvider { /* private fields */ }Expand description
Local HTTP-based search using DuckDuckGo HTML scraping No API key required - default provider
Implementations§
Source§impl LocalSearchProvider
impl LocalSearchProvider
pub fn new(timeout: Duration, max_content_length: usize) -> Self
Sourcepub async fn fetch_content(&self, url: &str) -> Result<ExtractedContent>
pub async fn fetch_content(&self, url: &str) -> Result<ExtractedContent>
Fetch and extract content from a URL. Returns extracted content including title, description, and main text.
Sourcepub async fn enrich_result(&self, item: SearchItem) -> SearchItem
pub async fn enrich_result(&self, item: SearchItem) -> SearchItem
Enrich a search result by fetching and extracting content from its URL.
Returns the search item with the content field populated.
Sourcepub async fn search_with_content(
&self,
query: &str,
max_results: usize,
fetch_content_count: usize,
) -> Result<Vec<SearchItem>>
pub async fn search_with_content( &self, query: &str, max_results: usize, fetch_content_count: usize, ) -> Result<Vec<SearchItem>>
Search with content extraction - fetches and extracts content from top results. This is slower but provides richer results with actual page content.
Trait Implementations§
Source§impl Default for LocalSearchProvider
impl Default for LocalSearchProvider
Source§impl SearchProvider for LocalSearchProvider
impl SearchProvider for LocalSearchProvider
Auto Trait Implementations§
impl Freeze for LocalSearchProvider
impl !RefUnwindSafe for LocalSearchProvider
impl Send for LocalSearchProvider
impl Sync for LocalSearchProvider
impl Unpin for LocalSearchProvider
impl !UnwindSafe for LocalSearchProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().