searcher

package
v2.4.2 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2024 License: Apache-2.0 Imports: 18 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DisjunctionHeapTakeover = 10

DisjunctionHeapTakeover is a compile time setting that applications can adjust to control when the DisjunctionSearcher will switch from a simple slice implementation to a heap implementation.

View Source
var DisjunctionMaxClauseCount = 0

DisjunctionMaxClauseCount is a compile time setting that applications can adjust to non-zero value to cause the DisjunctionSearcher to return an error instead of exeucting searches when the size exceeds this value.

View Source
var GeoBitsShift1 = geo.GeoBits << 1
View Source
var GeoBitsShift1Minus1 = GeoBitsShift1 - 1
View Source
var MaxFuzziness = 2

Functions

func ComputeGeoRange

func ComputeGeoRange(ctx context.Context, term uint64, shift uint,
	sminLon, sminLat, smaxLon, smaxLat float64, checkBoundaries bool,
	indexReader index.IndexReader, field string) (
	onBoundary [][]byte, notOnBoundary [][]byte, err error)

func NewConjunctionSearcher

func NewConjunctionSearcher(ctx context.Context, indexReader index.IndexReader,
	qsearchers []search.Searcher, options search.SearcherOptions) (
	search.Searcher, error)

func NewDisjunctionSearcher

func NewDisjunctionSearcher(ctx context.Context, indexReader index.IndexReader,
	qsearchers []search.Searcher, min float64, options search.SearcherOptions) (
	search.Searcher, error)

func NewFuzzySearcher

func NewFuzzySearcher(ctx context.Context, indexReader index.IndexReader, term string,
	prefix, fuzziness int, field string, boost float64,
	options search.SearcherOptions) (search.Searcher, error)

func NewGeoBoundedPolygonSearcher

func NewGeoBoundedPolygonSearcher(ctx context.Context, indexReader index.IndexReader,
	coordinates []geo.Point, field string, boost float64,
	options search.SearcherOptions) (search.Searcher, error)

func NewGeoBoundingBoxSearcher

func NewGeoBoundingBoxSearcher(ctx context.Context, indexReader index.IndexReader, minLon, minLat,
	maxLon, maxLat float64, field string, boost float64,
	options search.SearcherOptions, checkBoundaries bool) (
	search.Searcher, error)

func NewGeoPointDistanceSearcher

func NewGeoPointDistanceSearcher(ctx context.Context, indexReader index.IndexReader, centerLon,
	centerLat, dist float64, field string, boost float64,
	options search.SearcherOptions) (search.Searcher, error)

func NewGeoShapeSearcher added in v2.3.3

func NewGeoShapeSearcher(ctx context.Context, indexReader index.IndexReader, shape index.GeoJSON,
	relation string, field string, boost float64,
	options search.SearcherOptions) (search.Searcher, error)

func NewIPRangeSearcher added in v2.3.0

func NewIPRangeSearcher(ctx context.Context, indexReader index.IndexReader, ipNet *net.IPNet,
	field string, boost float64, options search.SearcherOptions) (
	search.Searcher, error)

func NewMultiTermSearcher

func NewMultiTermSearcher(ctx context.Context, indexReader index.IndexReader, terms []string,
	field string, boost float64, options search.SearcherOptions, limit bool) (
	search.Searcher, error)

func NewMultiTermSearcherBytes

func NewMultiTermSearcherBytes(ctx context.Context, indexReader index.IndexReader, terms [][]byte,
	field string, boost float64, options search.SearcherOptions, limit bool) (
	search.Searcher, error)

func NewNumericRangeSearcher

func NewNumericRangeSearcher(ctx context.Context, indexReader index.IndexReader,
	min *float64, max *float64, inclusiveMin, inclusiveMax *bool, field string,
	boost float64, options search.SearcherOptions) (search.Searcher, error)

func NewRegexpSearcher

func NewRegexpSearcher(ctx context.Context, indexReader index.IndexReader, pattern Regexp,
	field string, boost float64, options search.SearcherOptions) (
	search.Searcher, error)

NewRegexpSearcher creates a searcher which will match documents that contain terms which match the pattern regexp. The match must be EXACT matching the entire term. The provided regexp SHOULD NOT start with ^ or end with $ as this can intefere with the implementation. Separately, matches will be checked to ensure they match the entire term.

func NewRegexpStringSearcher

func NewRegexpStringSearcher(ctx context.Context, indexReader index.IndexReader, pattern string,
	field string, boost float64, options search.SearcherOptions) (
	search.Searcher, error)

NewRegexpStringSearcher is similar to NewRegexpSearcher, but additionally optimizes for index readers that handle regexp's.

func NewTermPrefixSearcher

func NewTermPrefixSearcher(ctx context.Context, indexReader index.IndexReader, prefix string,
	field string, boost float64, options search.SearcherOptions) (
	search.Searcher, error)

func NewTermRangeSearcher

func NewTermRangeSearcher(ctx context.Context, indexReader index.IndexReader,
	min, max []byte, inclusiveMin, inclusiveMax *bool, field string,
	boost float64, options search.SearcherOptions) (search.Searcher, error)

Types

type BooleanSearcher

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

func NewBooleanSearcher

func NewBooleanSearcher(ctx context.Context, indexReader index.IndexReader, mustSearcher search.Searcher, shouldSearcher search.Searcher, mustNotSearcher search.Searcher, options search.SearcherOptions) (*BooleanSearcher, error)

func (*BooleanSearcher) Advance

func (*BooleanSearcher) Close

func (s *BooleanSearcher) Close() error

func (*BooleanSearcher) Count

func (s *BooleanSearcher) Count() uint64

func (*BooleanSearcher) DocumentMatchPoolSize

func (s *BooleanSearcher) DocumentMatchPoolSize() int

func (*BooleanSearcher) Min

func (s *BooleanSearcher) Min() int

func (*BooleanSearcher) Next

func (*BooleanSearcher) SetQueryNorm

func (s *BooleanSearcher) SetQueryNorm(qnorm float64)

func (*BooleanSearcher) Size

func (s *BooleanSearcher) Size() int

func (*BooleanSearcher) Weight

func (s *BooleanSearcher) Weight() float64

type ConjunctionSearcher

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

func (*ConjunctionSearcher) Advance

func (*ConjunctionSearcher) Close

func (s *ConjunctionSearcher) Close() (rv error)

func (*ConjunctionSearcher) Count

func (s *ConjunctionSearcher) Count() uint64

func (*ConjunctionSearcher) DocumentMatchPoolSize

func (s *ConjunctionSearcher) DocumentMatchPoolSize() int

func (*ConjunctionSearcher) Min

func (s *ConjunctionSearcher) Min() int

func (*ConjunctionSearcher) Next

func (*ConjunctionSearcher) SetQueryNorm

func (s *ConjunctionSearcher) SetQueryNorm(qnorm float64)

func (*ConjunctionSearcher) Size

func (s *ConjunctionSearcher) Size() int

func (*ConjunctionSearcher) Weight

func (s *ConjunctionSearcher) Weight() float64

type DisjunctionHeapSearcher

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

func (*DisjunctionHeapSearcher) Advance

func (*DisjunctionHeapSearcher) Close

func (s *DisjunctionHeapSearcher) Close() (rv error)

func (*DisjunctionHeapSearcher) Count

func (s *DisjunctionHeapSearcher) Count() uint64

func (*DisjunctionHeapSearcher) DocumentMatchPoolSize

func (s *DisjunctionHeapSearcher) DocumentMatchPoolSize() int

func (*DisjunctionHeapSearcher) Len

func (s *DisjunctionHeapSearcher) Len() int

func (*DisjunctionHeapSearcher) Less

func (s *DisjunctionHeapSearcher) Less(i, j int) bool

func (*DisjunctionHeapSearcher) Min

func (s *DisjunctionHeapSearcher) Min() int

func (*DisjunctionHeapSearcher) Next

func (*DisjunctionHeapSearcher) Optimize

a disjunction searcher implements the index.Optimizable interface but only activates on an edge case where the disjunction is a wrapper around a single Optimizable child searcher

func (*DisjunctionHeapSearcher) Pop

func (s *DisjunctionHeapSearcher) Pop() interface{}

func (*DisjunctionHeapSearcher) Push

func (s *DisjunctionHeapSearcher) Push(x interface{})

func (*DisjunctionHeapSearcher) SetQueryNorm

func (s *DisjunctionHeapSearcher) SetQueryNorm(qnorm float64)

func (*DisjunctionHeapSearcher) Size

func (s *DisjunctionHeapSearcher) Size() int

func (*DisjunctionHeapSearcher) Swap

func (s *DisjunctionHeapSearcher) Swap(i, j int)

func (*DisjunctionHeapSearcher) Weight

func (s *DisjunctionHeapSearcher) Weight() float64

type DisjunctionSliceSearcher

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

func (*DisjunctionSliceSearcher) Advance

func (*DisjunctionSliceSearcher) Close

func (s *DisjunctionSliceSearcher) Close() (rv error)

func (*DisjunctionSliceSearcher) Count

func (s *DisjunctionSliceSearcher) Count() uint64

func (*DisjunctionSliceSearcher) DocumentMatchPoolSize

func (s *DisjunctionSliceSearcher) DocumentMatchPoolSize() int

func (*DisjunctionSliceSearcher) Min

func (s *DisjunctionSliceSearcher) Min() int

func (*DisjunctionSliceSearcher) Next

func (*DisjunctionSliceSearcher) Optimize

a disjunction searcher implements the index.Optimizable interface but only activates on an edge case where the disjunction is a wrapper around a single Optimizable child searcher

func (*DisjunctionSliceSearcher) SetQueryNorm

func (s *DisjunctionSliceSearcher) SetQueryNorm(qnorm float64)

func (*DisjunctionSliceSearcher) Size

func (s *DisjunctionSliceSearcher) Size() int

func (*DisjunctionSliceSearcher) Weight

func (s *DisjunctionSliceSearcher) Weight() float64

type DocIDSearcher

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

DocIDSearcher returns documents matching a predefined set of identifiers.

func NewDocIDSearcher

func NewDocIDSearcher(ctx context.Context, indexReader index.IndexReader, ids []string, boost float64,
	options search.SearcherOptions) (searcher *DocIDSearcher, err error)

func (*DocIDSearcher) Advance

func (*DocIDSearcher) Close

func (s *DocIDSearcher) Close() error

func (*DocIDSearcher) Count

func (s *DocIDSearcher) Count() uint64

func (*DocIDSearcher) DocumentMatchPoolSize

func (s *DocIDSearcher) DocumentMatchPoolSize() int

func (*DocIDSearcher) Min

func (s *DocIDSearcher) Min() int

func (*DocIDSearcher) Next

func (*DocIDSearcher) SetQueryNorm

func (s *DocIDSearcher) SetQueryNorm(qnorm float64)

func (*DocIDSearcher) Size

func (s *DocIDSearcher) Size() int

func (*DocIDSearcher) Weight

func (s *DocIDSearcher) Weight() float64

type FilterFunc

type FilterFunc func(d *search.DocumentMatch) bool

FilterFunc defines a function which can filter documents returning true means keep the document returning false means do not keep the document

type FilteringSearcher

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

FilteringSearcher wraps any other searcher, but checks any Next/Advance call against the supplied FilterFunc

func NewFilteringSearcher

func NewFilteringSearcher(ctx context.Context, s search.Searcher, filter FilterFunc) *FilteringSearcher

func (*FilteringSearcher) Advance

func (*FilteringSearcher) Close

func (f *FilteringSearcher) Close() error

func (*FilteringSearcher) Count

func (f *FilteringSearcher) Count() uint64

func (*FilteringSearcher) DocumentMatchPoolSize

func (f *FilteringSearcher) DocumentMatchPoolSize() int

func (*FilteringSearcher) Min

func (f *FilteringSearcher) Min() int

func (*FilteringSearcher) Next

func (*FilteringSearcher) SetQueryNorm

func (f *FilteringSearcher) SetQueryNorm(n float64)

func (*FilteringSearcher) Size

func (f *FilteringSearcher) Size() int

func (*FilteringSearcher) Weight

func (f *FilteringSearcher) Weight() float64

type MatchAllSearcher

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

func NewMatchAllSearcher

func NewMatchAllSearcher(ctx context.Context, indexReader index.IndexReader, boost float64, options search.SearcherOptions) (*MatchAllSearcher, error)

func (*MatchAllSearcher) Advance

func (*MatchAllSearcher) Close

func (s *MatchAllSearcher) Close() error

func (*MatchAllSearcher) Count

func (s *MatchAllSearcher) Count() uint64

func (*MatchAllSearcher) DocumentMatchPoolSize

func (s *MatchAllSearcher) DocumentMatchPoolSize() int

func (*MatchAllSearcher) Min

func (s *MatchAllSearcher) Min() int

func (*MatchAllSearcher) Next

func (*MatchAllSearcher) SetQueryNorm

func (s *MatchAllSearcher) SetQueryNorm(qnorm float64)

func (*MatchAllSearcher) Size

func (s *MatchAllSearcher) Size() int

func (*MatchAllSearcher) Weight

func (s *MatchAllSearcher) Weight() float64

type MatchNoneSearcher

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

func NewMatchNoneSearcher

func NewMatchNoneSearcher(indexReader index.IndexReader) (*MatchNoneSearcher, error)

func (*MatchNoneSearcher) Advance

func (*MatchNoneSearcher) Close

func (s *MatchNoneSearcher) Close() error

func (*MatchNoneSearcher) Count

func (s *MatchNoneSearcher) Count() uint64

func (*MatchNoneSearcher) DocumentMatchPoolSize

func (s *MatchNoneSearcher) DocumentMatchPoolSize() int

func (*MatchNoneSearcher) Min

func (s *MatchNoneSearcher) Min() int

func (*MatchNoneSearcher) Next

func (*MatchNoneSearcher) SetQueryNorm

func (s *MatchNoneSearcher) SetQueryNorm(qnorm float64)

func (*MatchNoneSearcher) Size

func (s *MatchNoneSearcher) Size() int

func (*MatchNoneSearcher) Weight

func (s *MatchNoneSearcher) Weight() float64

type OrderedPositionalSearcherList added in v2.4.0

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

func (OrderedPositionalSearcherList) Len added in v2.4.0

func (OrderedPositionalSearcherList) Less added in v2.4.0

func (otrl OrderedPositionalSearcherList) Less(i, j int) bool

func (OrderedPositionalSearcherList) Swap added in v2.4.0

func (otrl OrderedPositionalSearcherList) Swap(i, j int)

type OrderedSearcherList

type OrderedSearcherList []search.Searcher

func (OrderedSearcherList) Len

func (otrl OrderedSearcherList) Len() int

func (OrderedSearcherList) Less

func (otrl OrderedSearcherList) Less(i, j int) bool

func (OrderedSearcherList) Swap

func (otrl OrderedSearcherList) Swap(i, j int)

type PhraseSearcher

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

func NewMultiPhraseSearcher

func NewMultiPhraseSearcher(ctx context.Context, indexReader index.IndexReader, terms [][]string,
	fuzziness int, field string, boost float64, options search.SearcherOptions) (*PhraseSearcher, error)

func NewPhraseSearcher

func NewPhraseSearcher(ctx context.Context, indexReader index.IndexReader, terms []string,
	fuzziness int, field string, boost float64, options search.SearcherOptions) (*PhraseSearcher, error)

func (*PhraseSearcher) Advance

func (*PhraseSearcher) Close

func (s *PhraseSearcher) Close() error

func (*PhraseSearcher) Count

func (s *PhraseSearcher) Count() uint64

func (*PhraseSearcher) DocumentMatchPoolSize

func (s *PhraseSearcher) DocumentMatchPoolSize() int

func (*PhraseSearcher) Min

func (s *PhraseSearcher) Min() int

func (*PhraseSearcher) Next

func (*PhraseSearcher) SetQueryNorm

func (s *PhraseSearcher) SetQueryNorm(qnorm float64)

func (*PhraseSearcher) Size

func (s *PhraseSearcher) Size() int

func (*PhraseSearcher) Weight

func (s *PhraseSearcher) Weight() float64

type Regexp

type Regexp interface {
	FindStringIndex(s string) (loc []int)

	LiteralPrefix() (prefix string, complete bool)

	String() string
}

The Regexp interface defines the subset of the regexp.Regexp API methods that are used by bleve indexes, allowing callers to pass in alternate implementations.

type SearcherCurr

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

type TermSearcher

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

func NewTermSearcher

func NewTermSearcher(ctx context.Context, indexReader index.IndexReader, term string, field string, boost float64, options search.SearcherOptions) (*TermSearcher, error)

func NewTermSearcherBytes

func NewTermSearcherBytes(ctx context.Context, indexReader index.IndexReader, term []byte, field string, boost float64, options search.SearcherOptions) (*TermSearcher, error)

func (*TermSearcher) Advance

func (*TermSearcher) Close

func (s *TermSearcher) Close() error

func (*TermSearcher) Count

func (s *TermSearcher) Count() uint64

func (*TermSearcher) DocumentMatchPoolSize

func (s *TermSearcher) DocumentMatchPoolSize() int

func (*TermSearcher) Min

func (s *TermSearcher) Min() int

func (*TermSearcher) Next

func (*TermSearcher) Optimize

func (*TermSearcher) SetQueryNorm

func (s *TermSearcher) SetQueryNorm(qnorm float64)

func (*TermSearcher) Size

func (s *TermSearcher) Size() int

func (*TermSearcher) Weight

func (s *TermSearcher) Weight() float64

Jump to

Keyboard shortcuts

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