Documentation ¶
Index ¶
- Variables
- func LevenshteinDistance(a, b string) int
- func LevenshteinDistanceMax(a, b string, max int) (int, bool)
- func LevenshteinDistanceMaxReuseSlice(a, b string, max int, d []int) (int, bool, []int)
- type ArrayPositions
- type BytesSlice
- type Collector
- type DateRangeFacet
- type DateRangeFacets
- type DocumentMatch
- type DocumentMatchCollection
- type DocumentMatchHandler
- type DocumentMatchPool
- type DocumentMatchPoolTooSmall
- type Explanation
- type FacetBuilder
- type FacetResult
- type FacetResults
- type FacetsBuilder
- func (fb *FacetsBuilder) Add(name string, facetBuilder FacetBuilder)
- func (fb *FacetsBuilder) EndDoc()
- func (fb *FacetsBuilder) RequiredFields() []string
- func (fb *FacetsBuilder) Results() FacetResults
- func (fb *FacetsBuilder) Size() int
- func (fb *FacetsBuilder) StartDoc()
- func (fb *FacetsBuilder) UpdateVisitor(field string, term []byte)
- type FieldFragmentMap
- type FieldTermLocation
- type FieldTermLocationMap
- type Location
- type Locations
- type MakeDocumentMatchHandler
- type MakeDocumentMatchHandlerKeyType
- type NumericRangeFacet
- type NumericRangeFacets
- type SearchContext
- type SearchSort
- type Searcher
- type SearcherOptions
- type SortDocID
- func (s *SortDocID) Copy() SearchSort
- func (s *SortDocID) Descending() bool
- func (s *SortDocID) MarshalJSON() ([]byte, error)
- func (s *SortDocID) RequiresDocID() bool
- func (s *SortDocID) RequiresFields() []string
- func (s *SortDocID) RequiresScoring() bool
- func (s *SortDocID) Reverse()
- func (s *SortDocID) UpdateVisitor(field string, term []byte)
- func (s *SortDocID) Value(i *DocumentMatch) string
- type SortField
- func (s *SortField) Copy() SearchSort
- func (s *SortField) Descending() bool
- func (s *SortField) MarshalJSON() ([]byte, error)
- func (s *SortField) RequiresDocID() bool
- func (s *SortField) RequiresFields() []string
- func (s *SortField) RequiresScoring() bool
- func (s *SortField) Reverse()
- func (s *SortField) UpdateVisitor(field string, term []byte)
- func (s *SortField) Value(i *DocumentMatch) string
- type SortFieldMissing
- type SortFieldMode
- type SortFieldType
- type SortGeoDistance
- func (s *SortGeoDistance) Copy() SearchSort
- func (s *SortGeoDistance) Descending() bool
- func (s *SortGeoDistance) MarshalJSON() ([]byte, error)
- func (s *SortGeoDistance) RequiresDocID() bool
- func (s *SortGeoDistance) RequiresFields() []string
- func (s *SortGeoDistance) RequiresScoring() bool
- func (s *SortGeoDistance) Reverse()
- func (s *SortGeoDistance) UpdateVisitor(field string, term []byte)
- func (s *SortGeoDistance) Value(i *DocumentMatch) string
- type SortOrder
- func (so SortOrder) CacheDescending() []bool
- func (so SortOrder) CacheIsScore() []bool
- func (so SortOrder) Compare(cachedScoring, cachedDesc []bool, i, j *DocumentMatch) int
- func (so SortOrder) Copy() SortOrder
- func (so SortOrder) RequiredFields() []string
- func (so SortOrder) RequiresDocID() bool
- func (so SortOrder) RequiresScore() bool
- func (so SortOrder) Reverse()
- func (so SortOrder) UpdateVisitor(field string, term []byte)
- func (so SortOrder) Value(doc *DocumentMatch)
- type SortScore
- func (s *SortScore) Copy() SearchSort
- func (s *SortScore) Descending() bool
- func (s *SortScore) MarshalJSON() ([]byte, error)
- func (s *SortScore) RequiresDocID() bool
- func (s *SortScore) RequiresFields() []string
- func (s *SortScore) RequiresScoring() bool
- func (s *SortScore) Reverse()
- func (s *SortScore) UpdateVisitor(field string, term []byte)
- func (s *SortScore) Value(i *DocumentMatch) string
- type TermFacet
- type TermFacets
- type TermLocationMap
Constants ¶
This section is empty.
Variables ¶
var HighTerm = strings.Repeat(string([]byte{0xff}), 10)
var LowTerm = string([]byte{0x00})
var MakeDocumentMatchHandlerKey = MakeDocumentMatchHandlerKeyType(
"MakeDocumentMatchHandlerKey")
Functions ¶
func LevenshteinDistance ¶
func LevenshteinDistanceMax ¶
LevenshteinDistanceMax same as LevenshteinDistance but attempts to bail early once we know the distance will be greater than max in which case the first return val will be the max and the second will be true, indicating max was exceeded
Types ¶
type ArrayPositions ¶ added in v0.6.0
type ArrayPositions []uint64
func (ArrayPositions) Compare ¶ added in v0.8.0
func (ap ArrayPositions) Compare(other ArrayPositions) int
func (ArrayPositions) Equals ¶ added in v0.6.0
func (ap ArrayPositions) Equals(other ArrayPositions) bool
type BytesSlice ¶ added in v0.8.0
type BytesSlice [][]byte
func (BytesSlice) Len ¶ added in v0.8.0
func (p BytesSlice) Len() int
func (BytesSlice) Less ¶ added in v0.8.0
func (p BytesSlice) Less(i, j int) bool
func (BytesSlice) Swap ¶ added in v0.8.0
func (p BytesSlice) Swap(i, j int)
type Collector ¶
type Collector interface { Collect(ctx context.Context, searcher Searcher, reader index.IndexReader) error Results() DocumentMatchCollection Total() uint64 MaxScore() float64 Took() time.Duration SetFacetsBuilder(facetsBuilder *FacetsBuilder) FacetResults() FacetResults }
type DateRangeFacet ¶
type DateRangeFacet struct { Name string `json:"name"` Start *string `json:"start,omitempty"` End *string `json:"end,omitempty"` Count int `json:"count"` }
func (*DateRangeFacet) Same ¶
func (drf *DateRangeFacet) Same(other *DateRangeFacet) bool
type DateRangeFacets ¶
type DateRangeFacets []*DateRangeFacet
func (DateRangeFacets) Add ¶
func (drf DateRangeFacets) Add(dateRangeFacet *DateRangeFacet) DateRangeFacets
func (DateRangeFacets) Len ¶
func (drf DateRangeFacets) Len() int
func (DateRangeFacets) Less ¶
func (drf DateRangeFacets) Less(i, j int) bool
func (DateRangeFacets) Swap ¶
func (drf DateRangeFacets) Swap(i, j int)
type DocumentMatch ¶
type DocumentMatch struct { Index string `json:"index,omitempty"` ID string `json:"id"` IndexInternalID index.IndexInternalID `json:"-"` Score float64 `json:"score"` Expl *Explanation `json:"explanation,omitempty"` Locations FieldTermLocationMap `json:"locations,omitempty"` Fragments FieldFragmentMap `json:"fragments,omitempty"` Sort []string `json:"sort,omitempty"` // Fields contains the values for document fields listed in // SearchRequest.Fields. Text fields are returned as strings, numeric // fields as float64s and date fields as time.RFC3339 formatted strings. Fields map[string]interface{} `json:"fields,omitempty"` // used to maintain natural index order HitNumber uint64 `json:"-"` // used to temporarily hold field term location information during // search processing in an efficient, recycle-friendly manner, to // be later incorporated into the Locations map when search // results are completed FieldTermLocations []FieldTermLocation `json:"-"` }
func (*DocumentMatch) AddFieldValue ¶
func (dm *DocumentMatch) AddFieldValue(name string, value interface{})
func (*DocumentMatch) Complete ¶ added in v0.8.0
func (dm *DocumentMatch) Complete(prealloc []Location) []Location
Complete performs final preparation & transformation of the DocumentMatch at the end of search processing, also allowing the caller to provide an optional preallocated locations slice
func (*DocumentMatch) Reset ¶ added in v0.4.0
func (dm *DocumentMatch) Reset() *DocumentMatch
Reset allows an already allocated DocumentMatch to be reused
func (*DocumentMatch) Size ¶ added in v0.8.0
func (dm *DocumentMatch) Size() int
func (*DocumentMatch) String ¶ added in v0.4.0
func (dm *DocumentMatch) String() string
type DocumentMatchCollection ¶
type DocumentMatchCollection []*DocumentMatch
func (DocumentMatchCollection) Len ¶
func (c DocumentMatchCollection) Len() int
func (DocumentMatchCollection) Less ¶
func (c DocumentMatchCollection) Less(i, j int) bool
func (DocumentMatchCollection) Swap ¶
func (c DocumentMatchCollection) Swap(i, j int)
type DocumentMatchHandler ¶ added in v0.8.0
type DocumentMatchHandler func(hit *DocumentMatch) error
DocumentMatchHandler is the type of document match callback bleve will invoke during the search. Eventually, bleve will indicate the completion of an ongoing search, by passing a nil value for the document match callback. The application should take a copy of the hit/documentMatch if it wish to own it or need prolonged access to it.
type DocumentMatchPool ¶ added in v0.4.0
type DocumentMatchPool struct { TooSmall DocumentMatchPoolTooSmall // contains filtered or unexported fields }
DocumentMatchPool manages use/re-use of DocumentMatch instances it pre-allocates space from a single large block with the expected number of instances. It is not thread-safe as currently all aspects of search take place in a single goroutine.
func NewDocumentMatchPool ¶ added in v0.4.0
func NewDocumentMatchPool(size, sortsize int) *DocumentMatchPool
NewDocumentMatchPool will build a DocumentMatchPool with memory pre-allocated to accommodate the requested number of DocumentMatch instances
func (*DocumentMatchPool) Get ¶ added in v0.4.0
func (p *DocumentMatchPool) Get() *DocumentMatch
Get returns an available DocumentMatch from the pool if the pool was not allocated with sufficient size, an allocation will occur to satisfy this request. As a side-effect this will grow the size of the pool.
func (*DocumentMatchPool) Put ¶ added in v0.4.0
func (p *DocumentMatchPool) Put(d *DocumentMatch)
Put returns a DocumentMatch to the pool
type DocumentMatchPoolTooSmall ¶ added in v0.4.0
type DocumentMatchPoolTooSmall func(p *DocumentMatchPool) *DocumentMatch
DocumentMatchPoolTooSmall is a callback function that can be executed when the DocumentMatchPool does not have sufficient capacity By default we just perform just-in-time allocation, but you could log a message, or panic, etc.
type Explanation ¶
type Explanation struct { Value float64 `json:"value"` Message string `json:"message"` Children []*Explanation `json:"children,omitempty"` }
func (*Explanation) Size ¶ added in v0.8.0
func (expl *Explanation) Size() int
func (*Explanation) String ¶
func (expl *Explanation) String() string
type FacetBuilder ¶
type FacetBuilder interface { StartDoc() UpdateVisitor(field string, term []byte) EndDoc() Result() *FacetResult Field() string Size() int }
type FacetResult ¶
type FacetResult struct { Field string `json:"field"` Total int `json:"total"` Missing int `json:"missing"` Other int `json:"other"` Terms TermFacets `json:"terms,omitempty"` NumericRanges NumericRangeFacets `json:"numeric_ranges,omitempty"` DateRanges DateRangeFacets `json:"date_ranges,omitempty"` }
func (*FacetResult) Fixup ¶
func (fr *FacetResult) Fixup(size int)
func (*FacetResult) Merge ¶
func (fr *FacetResult) Merge(other *FacetResult)
func (*FacetResult) Size ¶ added in v0.8.0
func (fr *FacetResult) Size() int
type FacetResults ¶
type FacetResults map[string]*FacetResult
func (FacetResults) Fixup ¶
func (fr FacetResults) Fixup(name string, size int)
func (FacetResults) Merge ¶
func (fr FacetResults) Merge(other FacetResults)
type FacetsBuilder ¶
type FacetsBuilder struct {
// contains filtered or unexported fields
}
func NewFacetsBuilder ¶
func NewFacetsBuilder(indexReader index.IndexReader) *FacetsBuilder
func (*FacetsBuilder) Add ¶
func (fb *FacetsBuilder) Add(name string, facetBuilder FacetBuilder)
func (*FacetsBuilder) EndDoc ¶ added in v0.6.0
func (fb *FacetsBuilder) EndDoc()
func (*FacetsBuilder) RequiredFields ¶ added in v0.6.0
func (fb *FacetsBuilder) RequiredFields() []string
func (*FacetsBuilder) Results ¶
func (fb *FacetsBuilder) Results() FacetResults
func (*FacetsBuilder) Size ¶ added in v0.8.0
func (fb *FacetsBuilder) Size() int
func (*FacetsBuilder) StartDoc ¶ added in v0.6.0
func (fb *FacetsBuilder) StartDoc()
func (*FacetsBuilder) UpdateVisitor ¶ added in v0.6.0
func (fb *FacetsBuilder) UpdateVisitor(field string, term []byte)
type FieldFragmentMap ¶
type FieldTermLocation ¶ added in v0.8.0
func MergeFieldTermLocations ¶ added in v0.8.0
func MergeFieldTermLocations(dest []FieldTermLocation, matches []*DocumentMatch) []FieldTermLocation
type FieldTermLocationMap ¶
type FieldTermLocationMap map[string]TermLocationMap
func MergeLocations ¶
func MergeLocations(locations []FieldTermLocationMap) FieldTermLocationMap
type Location ¶
type Location struct { // Pos is the position of the term within the field, starting at 1 Pos uint64 `json:"pos"` // Start and End are the byte offsets of the term in the field Start uint64 `json:"start"` End uint64 `json:"end"` // ArrayPositions contains the positions of the term within any elements. ArrayPositions ArrayPositions `json:"array_positions"` }
type MakeDocumentMatchHandler ¶ added in v0.8.0
type MakeDocumentMatchHandler func(ctx *SearchContext) ( callback DocumentMatchHandler, loadID bool, err error)
MakeDocumentMatchHandler is an optional DocumentMatchHandler builder function which the applications can pass to bleve. These builder methods gives a DocumentMatchHandler function to bleve, which it will invoke on every document matches.
type MakeDocumentMatchHandlerKeyType ¶ added in v0.8.0
type MakeDocumentMatchHandlerKeyType string
type NumericRangeFacet ¶
type NumericRangeFacet struct { Name string `json:"name"` Min *float64 `json:"min,omitempty"` Max *float64 `json:"max,omitempty"` Count int `json:"count"` }
func (*NumericRangeFacet) Same ¶ added in v0.6.0
func (nrf *NumericRangeFacet) Same(other *NumericRangeFacet) bool
type NumericRangeFacets ¶
type NumericRangeFacets []*NumericRangeFacet
func (NumericRangeFacets) Add ¶
func (nrf NumericRangeFacets) Add(numericRangeFacet *NumericRangeFacet) NumericRangeFacets
func (NumericRangeFacets) Len ¶
func (nrf NumericRangeFacets) Len() int
func (NumericRangeFacets) Less ¶
func (nrf NumericRangeFacets) Less(i, j int) bool
func (NumericRangeFacets) Swap ¶
func (nrf NumericRangeFacets) Swap(i, j int)
type SearchContext ¶ added in v0.4.0
type SearchContext struct { DocumentMatchPool *DocumentMatchPool Collector Collector IndexReader index.IndexReader }
SearchContext represents the context around a single search
func (*SearchContext) Size ¶ added in v0.8.0
func (sc *SearchContext) Size() int
type SearchSort ¶ added in v0.4.0
type SearchSort interface { UpdateVisitor(field string, term []byte) Value(a *DocumentMatch) string Descending() bool RequiresDocID() bool RequiresScoring() bool RequiresFields() []string Reverse() Copy() SearchSort }
func ParseSearchSortJSON ¶ added in v0.4.0
func ParseSearchSortJSON(input json.RawMessage) (SearchSort, error)
func ParseSearchSortObj ¶ added in v0.4.0
func ParseSearchSortObj(input map[string]interface{}) (SearchSort, error)
func ParseSearchSortString ¶ added in v0.4.0
func ParseSearchSortString(input string) SearchSort
type Searcher ¶
type Searcher interface { Next(ctx *SearchContext) (*DocumentMatch, error) Advance(ctx *SearchContext, ID index.IndexInternalID) (*DocumentMatch, error) Close() error Weight() float64 SetQueryNorm(float64) Count() uint64 Min() int Size() int DocumentMatchPoolSize() int }
type SearcherOptions ¶ added in v0.6.0
type SortDocID ¶ added in v0.4.0
type SortDocID struct {
Desc bool
}
SortDocID will sort results by the document identifier
func (*SortDocID) Copy ¶ added in v0.6.0
func (s *SortDocID) Copy() SearchSort
func (*SortDocID) Descending ¶ added in v0.4.0
Descending determines the order of the sort
func (*SortDocID) MarshalJSON ¶ added in v0.4.0
func (*SortDocID) RequiresDocID ¶ added in v0.4.0
RequiresDocID says this SearchSort does require the DocID be loaded
func (*SortDocID) RequiresFields ¶ added in v0.4.0
RequiresFields says this SearchStore does not require any stored fields
func (*SortDocID) RequiresScoring ¶ added in v0.4.0
RequiresScoring says this SearchStore does not require scoring
func (*SortDocID) UpdateVisitor ¶ added in v0.6.0
UpdateVisitor is a no-op for SortDocID as it's value is not dependent on any field terms
func (*SortDocID) Value ¶ added in v0.4.0
func (s *SortDocID) Value(i *DocumentMatch) string
Value returns the sort value of the DocumentMatch
type SortField ¶ added in v0.4.0
type SortField struct { Field string Desc bool Type SortFieldType Mode SortFieldMode Missing SortFieldMissing // contains filtered or unexported fields }
SortField will sort results by the value of a stored field
Field is the name of the field Descending reverse the sort order (default false) Type allows forcing of string/number/date behavior (default auto) Mode controls behavior for multi-values fields (default first) Missing controls behavior of missing values (default last)
func (*SortField) Copy ¶ added in v0.6.0
func (s *SortField) Copy() SearchSort
func (*SortField) Descending ¶ added in v0.4.0
Descending determines the order of the sort
func (*SortField) MarshalJSON ¶ added in v0.4.0
func (*SortField) RequiresDocID ¶ added in v0.4.0
RequiresDocID says this SearchSort does not require the DocID be loaded
func (*SortField) RequiresFields ¶ added in v0.4.0
RequiresFields says this SearchStore requires the specified stored field
func (*SortField) RequiresScoring ¶ added in v0.4.0
RequiresScoring says this SearchStore does not require scoring
func (*SortField) UpdateVisitor ¶ added in v0.6.0
UpdateVisitor notifies this sort field that in this document this field has the specified term
func (*SortField) Value ¶ added in v0.4.0
func (s *SortField) Value(i *DocumentMatch) string
Value returns the sort value of the DocumentMatch it also resets the state of this SortField for processing the next document
type SortFieldMissing ¶ added in v0.4.0
type SortFieldMissing int
SortFieldMissing controls where documents missing a field value should be sorted
const ( // SortFieldMissingLast sorts documents missing a field at the end SortFieldMissingLast SortFieldMissing = iota // SortFieldMissingFirst sorts documents missing a field at the beginning SortFieldMissingFirst )
type SortFieldMode ¶ added in v0.4.0
type SortFieldMode int
SortFieldMode describes the behavior if the field has multiple values
const ( // SortFieldDefault uses the first (or only) value, this is the default zero-value SortFieldDefault SortFieldMode = iota // FIXME name is confusing // SortFieldMin uses the minimum value SortFieldMin // SortFieldMax uses the maximum value SortFieldMax )
type SortFieldType ¶ added in v0.4.0
type SortFieldType int
SortFieldType lets you control some internal sort behavior normally leaving this to the zero-value of SortFieldAuto is fine
const ( // SortFieldAuto applies heuristics attempt to automatically sort correctly SortFieldAuto SortFieldType = iota // SortFieldAsString forces sort as string (no prefix coded terms removed) SortFieldAsString // SortFieldAsNumber forces sort as string (prefix coded terms with shift > 0 removed) SortFieldAsNumber // SortFieldAsDate forces sort as string (prefix coded terms with shift > 0 removed) SortFieldAsDate )
type SortGeoDistance ¶ added in v0.6.0
type SortGeoDistance struct { Field string Desc bool Unit string Lon float64 Lat float64 // contains filtered or unexported fields }
SortGeoDistance will sort results by the distance of an indexed geo point, from the provided location.
Field is the name of the field Descending reverse the sort order (default false)
func NewSortGeoDistance ¶ added in v0.6.0
func NewSortGeoDistance(field, unit string, lon, lat float64, desc bool) ( *SortGeoDistance, error)
NewSortGeoDistance creates SearchSort instance for sorting documents by their distance from the specified point.
func (*SortGeoDistance) Copy ¶ added in v0.6.0
func (s *SortGeoDistance) Copy() SearchSort
func (*SortGeoDistance) Descending ¶ added in v0.6.0
func (s *SortGeoDistance) Descending() bool
Descending determines the order of the sort
func (*SortGeoDistance) MarshalJSON ¶ added in v0.6.0
func (s *SortGeoDistance) MarshalJSON() ([]byte, error)
func (*SortGeoDistance) RequiresDocID ¶ added in v0.6.0
func (s *SortGeoDistance) RequiresDocID() bool
RequiresDocID says this SearchSort does not require the DocID be loaded
func (*SortGeoDistance) RequiresFields ¶ added in v0.6.0
func (s *SortGeoDistance) RequiresFields() []string
RequiresFields says this SearchStore requires the specified stored field
func (*SortGeoDistance) RequiresScoring ¶ added in v0.6.0
func (s *SortGeoDistance) RequiresScoring() bool
RequiresScoring says this SearchStore does not require scoring
func (*SortGeoDistance) Reverse ¶ added in v0.8.0
func (s *SortGeoDistance) Reverse()
func (*SortGeoDistance) UpdateVisitor ¶ added in v0.6.0
func (s *SortGeoDistance) UpdateVisitor(field string, term []byte)
UpdateVisitor notifies this sort field that in this document this field has the specified term
func (*SortGeoDistance) Value ¶ added in v0.6.0
func (s *SortGeoDistance) Value(i *DocumentMatch) string
Value returns the sort value of the DocumentMatch it also resets the state of this SortField for processing the next document
type SortOrder ¶ added in v0.4.0
type SortOrder []SearchSort
func ParseSortOrderJSON ¶ added in v0.4.0
func ParseSortOrderJSON(in []json.RawMessage) (SortOrder, error)
func ParseSortOrderStrings ¶ added in v0.4.0
func (SortOrder) CacheDescending ¶ added in v0.4.0
func (SortOrder) CacheIsScore ¶ added in v0.4.0
func (SortOrder) Compare ¶ added in v0.4.0
func (so SortOrder) Compare(cachedScoring, cachedDesc []bool, i, j *DocumentMatch) int
Compare will compare two document matches using the specified sort order if both are numbers, we avoid converting back to term
func (SortOrder) RequiredFields ¶ added in v0.4.0
func (SortOrder) RequiresDocID ¶ added in v0.4.0
func (SortOrder) RequiresScore ¶ added in v0.4.0
func (SortOrder) UpdateVisitor ¶ added in v0.6.0
func (SortOrder) Value ¶ added in v0.4.0
func (so SortOrder) Value(doc *DocumentMatch)
type SortScore ¶ added in v0.4.0
type SortScore struct {
Desc bool
}
SortScore will sort results by the document match score
func (*SortScore) Copy ¶ added in v0.6.0
func (s *SortScore) Copy() SearchSort
func (*SortScore) Descending ¶ added in v0.4.0
Descending determines the order of the sort
func (*SortScore) MarshalJSON ¶ added in v0.4.0
func (*SortScore) RequiresDocID ¶ added in v0.4.0
RequiresDocID says this SearchSort does not require the DocID be loaded
func (*SortScore) RequiresFields ¶ added in v0.4.0
RequiresFields says this SearchStore does not require any store fields
func (*SortScore) RequiresScoring ¶ added in v0.4.0
RequiresScoring says this SearchStore does require scoring
func (*SortScore) UpdateVisitor ¶ added in v0.6.0
UpdateVisitor is a no-op for SortScore as it's value is not dependent on any field terms
func (*SortScore) Value ¶ added in v0.4.0
func (s *SortScore) Value(i *DocumentMatch) string
Value returns the sort value of the DocumentMatch
type TermFacets ¶
type TermFacets []*TermFacet
func (TermFacets) Add ¶
func (tf TermFacets) Add(termFacet *TermFacet) TermFacets
func (TermFacets) Len ¶
func (tf TermFacets) Len() int
func (TermFacets) Less ¶
func (tf TermFacets) Less(i, j int) bool
func (TermFacets) Swap ¶
func (tf TermFacets) Swap(i, j int)
type TermLocationMap ¶
func MergeTermLocationMaps ¶
func MergeTermLocationMaps(rv, other TermLocationMap) TermLocationMap
func (TermLocationMap) AddLocation ¶
func (t TermLocationMap) AddLocation(term string, location *Location)