Skip to main content

Function: useEprintSearch()

useEprintSearch(query, options): object

Defined in: web/lib/hooks/use-eprint-search.ts:335

Hook for federated eprint search across external sources.

Parameters​

query​

string

Search query

options​

UseEprintSearchOptions = {}

Search options

Returns​

object

Search results with facets

eprints​

eprints: readonly ExternalEprint[]

error​

error: null | Error = result.error

facets​

facets: undefined | { sources: Record<string, number>; } = result.data.facets

isFetching​

isFetching: boolean = result.isFetching

isLoading​

isLoading: boolean = result.isLoading

refetch()​

refetch: (options?) => Promise<QueryObserverResult<SearchEprintsResponse, Error>> = result.refetch

Parameters​

options?​

RefetchOptions

Returns​

Promise<QueryObserverResult<SearchEprintsResponse, Error>>

sourceErrors​

sourceErrors: undefined | readonly SearchSourceError[] = result.data.sourceErrors

Remarks​

Performs federated search across all configured sources:

  • arXiv, OpenReview, PsyArXiv (real-time API search)
  • LingBuzz, Semantics Archive (local index search)

Results include source facets for filtering UI.

Example​

const { eprints, facets, isLoading } = useEprintSearch('attention mechanism', {
sources: 'arxiv,openreview',
limit: 20,
});

return (
<>
<SourceFacets facets={facets} />
<EprintList eprints={eprints} isLoading={isLoading} />
</>
);