engines

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2026 License: Apache-2.0, BSD-3-Clause, MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"

UserAgent is the standard User-Agent string for all search engine requests. Windows 11 Edge - consistent across all engines for privacy and compatibility.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArXiv

type ArXiv struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

ArXiv implements the arXiv search engine for scientific papers

func NewArXiv

func NewArXiv() *ArXiv

NewArXiv creates a new arXiv search engine

func (*ArXiv) Search

func (e *ArXiv) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs an arXiv search

type Baidu

type Baidu struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Baidu implements Baidu search engine

func NewBaidu

func NewBaidu() *Baidu

NewBaidu creates a new Baidu search engine

func (*Baidu) Search

func (e *Baidu) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Baidu search

type BingEngine

type BingEngine struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

BingEngine implements Bing search

func NewBing

func NewBing() *BingEngine

NewBing creates a new Bing engine

func (*BingEngine) Search

func (e *BingEngine) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

type Brave

type Brave struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Brave implements Brave Search engine

func NewBrave

func NewBrave() *Brave

NewBrave creates a new Brave search engine

func (*Brave) Search

func (e *Brave) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Brave search

type DuckDuckGo

type DuckDuckGo struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

DuckDuckGo implements DuckDuckGo search engine

func NewDuckDuckGo

func NewDuckDuckGo() *DuckDuckGo

NewDuckDuckGo creates a new DuckDuckGo engine

func (*DuckDuckGo) Search

func (e *DuckDuckGo) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a DuckDuckGo search

type GitHub

type GitHub struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

GitHub implements GitHub search engine

func NewGitHub

func NewGitHub() *GitHub

NewGitHub creates a new GitHub search engine

func (*GitHub) Search

func (e *GitHub) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a GitHub search

type Google

type Google struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Google implements Google search engine

func NewGoogle

func NewGoogle() *Google

NewGoogle creates a new Google engine

func (*Google) Search

func (e *Google) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Google search

type HackerNews

type HackerNews struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

HackerNews implements Hacker News search engine using the Algolia API

func NewHackerNews

func NewHackerNews() *HackerNews

NewHackerNews creates a new Hacker News search engine

func (*HackerNews) Search

func (e *HackerNews) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Hacker News search using the Algolia API

type Mojeek

type Mojeek struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Mojeek implements Mojeek search engine Mojeek is a privacy-focused search engine with its own crawler

func NewMojeek

func NewMojeek() *Mojeek

NewMojeek creates a new Mojeek search engine

func (*Mojeek) Search

func (e *Mojeek) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Mojeek search

type OpenStreetMap

type OpenStreetMap struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

OpenStreetMap implements OpenStreetMap/Nominatim search engine Uses the Nominatim API for geocoding and location search

func NewOpenStreetMap

func NewOpenStreetMap() *OpenStreetMap

NewOpenStreetMap creates a new OpenStreetMap search engine

func (*OpenStreetMap) Search

func (e *OpenStreetMap) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs an OpenStreetMap/Nominatim search

type PubMed

type PubMed struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

PubMed implements PubMed search engine using NCBI E-utilities API

func NewPubMed

func NewPubMed() *PubMed

NewPubMed creates a new PubMed search engine

func (*PubMed) Search

func (e *PubMed) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a PubMed search

type QwantEngine

type QwantEngine struct {
	*search.BaseEngine
}

func NewQwantEngine

func NewQwantEngine() *QwantEngine

func (*QwantEngine) Search

func (e *QwantEngine) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

type Reddit

type Reddit struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Reddit implements Reddit search engine

func NewReddit

func NewReddit() *Reddit

NewReddit creates a new Reddit search engine

func (*Reddit) Search

func (e *Reddit) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Reddit search

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

Registry holds all available search engines

func DefaultRegistry

func DefaultRegistry() *Registry

DefaultRegistry creates and returns a registry with default engines

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new engine registry

func (*Registry) Count

func (r *Registry) Count() int

Count returns the total number of registered engines

func (*Registry) Get

func (r *Registry) Get(name string) (search.Engine, error)

Get returns an engine by name

func (*Registry) GetAll

func (r *Registry) GetAll() []search.Engine

GetAll returns all registered engines

func (*Registry) GetByNames

func (r *Registry) GetByNames(names []string) []search.Engine

GetByNames returns engines by their names

func (*Registry) GetEnabled

func (r *Registry) GetEnabled() []search.Engine

GetEnabled returns all enabled engines

func (*Registry) GetForCategory

func (r *Registry) GetForCategory(category model.Category) []search.Engine

GetForCategory returns all engines that support a category

func (*Registry) Register

func (r *Registry) Register(engine search.Engine)

Register adds an engine to the registry

type StackOverflow

type StackOverflow struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

StackOverflow implements Stack Overflow search engine

func NewStackOverflow

func NewStackOverflow() *StackOverflow

NewStackOverflow creates a new Stack Overflow search engine

func (*StackOverflow) Search

func (e *StackOverflow) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Stack Overflow search

type Startpage

type Startpage struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Startpage implements Startpage Search engine

func NewStartpageEngine

func NewStartpageEngine() *Startpage

NewStartpageEngine creates a new Startpage search engine

func (*Startpage) Search

func (e *Startpage) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Startpage search

type WikipediaEngine

type WikipediaEngine struct {
	*search.BaseEngine
}

func NewWikipediaEngine

func NewWikipediaEngine() *WikipediaEngine

func (*WikipediaEngine) Search

func (e *WikipediaEngine) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

type WolframAlpha

type WolframAlpha struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

WolframAlpha implements Wolfram Alpha search engine Uses the Short Answers API for computational queries

func NewWolframAlpha

func NewWolframAlpha() *WolframAlpha

NewWolframAlpha creates a new Wolfram Alpha search engine

func (*WolframAlpha) Search

func (e *WolframAlpha) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Wolfram Alpha search Returns instant answer results for computational queries

type Yahoo

type Yahoo struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Yahoo implements Yahoo search engine

func NewYahoo

func NewYahoo() *Yahoo

NewYahoo creates a new Yahoo search engine

func (*Yahoo) Search

func (e *Yahoo) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Yahoo search

type Yandex

type Yandex struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

Yandex implements Yandex search engine

func NewYandex

func NewYandex() *Yandex

NewYandex creates a new Yandex search engine

func (*Yandex) Search

func (e *Yandex) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a Yandex search

type YouTube

type YouTube struct {
	*search.BaseEngine
	// contains filtered or unexported fields
}

YouTube implements YouTube Search engine

func NewYouTubeEngine

func NewYouTubeEngine() *YouTube

NewYouTubeEngine creates a new YouTube search engine

func (*YouTube) Search

func (e *YouTube) Search(ctx context.Context, query *model.Query) ([]model.Result, error)

Search performs a YouTube search

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL