Documentation

Index

Constants

View Source
const DefaultBooleanIndexingOptions = StoreField | IndexField | DocValues
View Source
const DefaultCompositeIndexingOptions = IndexField
View Source
const DefaultDateTimeIndexingOptions = StoreField | IndexField | DocValues
View Source
const DefaultDateTimePrecisionStep uint = 4
View Source
const DefaultNumericIndexingOptions = StoreField | IndexField | DocValues
View Source
const DefaultPrecisionStep uint = 4
View Source
const DefaultTextIndexingOptions = IndexField | DocValues

Variables

View Source
var GeoPrecisionStep uint = 9
View Source
var MaxTimeRepresentable = time.Unix(0, math.MaxInt64)
View Source
var MinTimeRepresentable = time.Unix(0, math.MinInt64)

Functions

This section is empty.

Types

type BooleanField

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

func NewBooleanField

func NewBooleanField(name string, arrayPositions []uint64, b bool) *BooleanField

func NewBooleanFieldFromBytes

func NewBooleanFieldFromBytes(name string, arrayPositions []uint64, value []byte) *BooleanField

func NewBooleanFieldWithIndexingOptions

func NewBooleanFieldWithIndexingOptions(name string, arrayPositions []uint64, b bool, options IndexingOptions) *BooleanField

func (*BooleanField) Analyze

func (b *BooleanField) Analyze() (int, analysis.TokenFrequencies)

func (*BooleanField) ArrayPositions

func (b *BooleanField) ArrayPositions() []uint64

func (*BooleanField) Boolean

func (b *BooleanField) Boolean() (bool, error)

func (*BooleanField) GoString

func (b *BooleanField) GoString() string

func (*BooleanField) Name

func (b *BooleanField) Name() string

func (*BooleanField) NumPlainTextBytes

func (b *BooleanField) NumPlainTextBytes() uint64

func (*BooleanField) Options

func (b *BooleanField) Options() IndexingOptions

func (*BooleanField) Size

func (b *BooleanField) Size() int

func (*BooleanField) Value

func (b *BooleanField) Value() []byte

type CompositeField

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

func NewCompositeField

func NewCompositeField(name string, defaultInclude bool, include []string, exclude []string) *CompositeField

func NewCompositeFieldWithIndexingOptions

func NewCompositeFieldWithIndexingOptions(name string, defaultInclude bool, include []string, exclude []string, options IndexingOptions) *CompositeField

func (*CompositeField) Analyze

func (c *CompositeField) Analyze() (int, analysis.TokenFrequencies)

func (*CompositeField) ArrayPositions

func (c *CompositeField) ArrayPositions() []uint64

func (*CompositeField) Compose

func (c *CompositeField) Compose(field string, length int, freq analysis.TokenFrequencies)

func (*CompositeField) Name

func (c *CompositeField) Name() string

func (*CompositeField) NumPlainTextBytes

func (c *CompositeField) NumPlainTextBytes() uint64

func (*CompositeField) Options

func (c *CompositeField) Options() IndexingOptions

func (*CompositeField) Size

func (c *CompositeField) Size() int

func (*CompositeField) Value

func (c *CompositeField) Value() []byte

type DateTimeField

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

func NewDateTimeField

func NewDateTimeField(name string, arrayPositions []uint64, dt time.Time) (*DateTimeField, error)

func NewDateTimeFieldFromBytes

func NewDateTimeFieldFromBytes(name string, arrayPositions []uint64, value []byte) *DateTimeField

func NewDateTimeFieldWithIndexingOptions

func NewDateTimeFieldWithIndexingOptions(name string, arrayPositions []uint64, dt time.Time, options IndexingOptions) (*DateTimeField, error)

func (*DateTimeField) Analyze

func (n *DateTimeField) Analyze() (int, analysis.TokenFrequencies)

func (*DateTimeField) ArrayPositions

func (n *DateTimeField) ArrayPositions() []uint64

func (*DateTimeField) DateTime

func (n *DateTimeField) DateTime() (time.Time, error)

func (*DateTimeField) GoString

func (n *DateTimeField) GoString() string

func (*DateTimeField) Name

func (n *DateTimeField) Name() string

func (*DateTimeField) NumPlainTextBytes

func (n *DateTimeField) NumPlainTextBytes() uint64

func (*DateTimeField) Options

func (n *DateTimeField) Options() IndexingOptions

func (*DateTimeField) Size

func (n *DateTimeField) Size() int

func (*DateTimeField) Value

func (n *DateTimeField) Value() []byte

type Document

type Document struct {
	ID              string  `json:"id"`
	Fields          []Field `json:"fields"`
	CompositeFields []*CompositeField
}

func NewDocument

func NewDocument(id string) *Document

func (*Document) AddField

func (d *Document) AddField(f Field) *Document

func (*Document) GoString

func (d *Document) GoString() string

func (*Document) NumPlainTextBytes

func (d *Document) NumPlainTextBytes() uint64

func (*Document) Size

func (d *Document) Size() int

type Field

type Field interface {
	// Name returns the path of the field from the root DocumentMapping.
	// A root field path is "field", a subdocument field is "parent.field".
	Name() string
	// ArrayPositions returns the intermediate document and field indices
	// required to resolve the field value in the document. For example, if the
	// field path is "doc1.doc2.field" where doc1 and doc2 are slices or
	// arrays, ArrayPositions returns 2 indices used to resolve "doc2" value in
	// "doc1", then "field" in "doc2".
	ArrayPositions() []uint64
	Options() IndexingOptions
	Analyze() (int, analysis.TokenFrequencies)
	Value() []byte

	// NumPlainTextBytes should return the number of plain text bytes
	// that this field represents - this is a common metric for tracking
	// the rate of indexing
	NumPlainTextBytes() uint64

	Size() int
}

type GeoPointField

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

func NewGeoPointField

func NewGeoPointField(name string, arrayPositions []uint64, lon, lat float64) *GeoPointField

func NewGeoPointFieldFromBytes

func NewGeoPointFieldFromBytes(name string, arrayPositions []uint64, value []byte) *GeoPointField

func NewGeoPointFieldWithIndexingOptions

func NewGeoPointFieldWithIndexingOptions(name string, arrayPositions []uint64, lon, lat float64, options IndexingOptions) *GeoPointField

func (*GeoPointField) Analyze

func (n *GeoPointField) Analyze() (int, analysis.TokenFrequencies)

func (*GeoPointField) ArrayPositions

func (n *GeoPointField) ArrayPositions() []uint64

func (*GeoPointField) GoString

func (n *GeoPointField) GoString() string

func (*GeoPointField) Lat

func (n *GeoPointField) Lat() (float64, error)

func (*GeoPointField) Lon

func (n *GeoPointField) Lon() (float64, error)

func (*GeoPointField) Name

func (n *GeoPointField) Name() string

func (*GeoPointField) NumPlainTextBytes

func (n *GeoPointField) NumPlainTextBytes() uint64

func (*GeoPointField) Options

func (n *GeoPointField) Options() IndexingOptions

func (*GeoPointField) Size

func (n *GeoPointField) Size() int

func (*GeoPointField) Value

func (n *GeoPointField) Value() []byte

type IndexingOptions

type IndexingOptions int
const (
	IndexField IndexingOptions = 1 << iota
	StoreField
	IncludeTermVectors
	DocValues
)

func (IndexingOptions) IncludeDocValues

func (o IndexingOptions) IncludeDocValues() bool

func (IndexingOptions) IncludeTermVectors

func (o IndexingOptions) IncludeTermVectors() bool

func (IndexingOptions) IsIndexed

func (o IndexingOptions) IsIndexed() bool

func (IndexingOptions) IsStored

func (o IndexingOptions) IsStored() bool

func (IndexingOptions) String

func (o IndexingOptions) String() string

type NumericField

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

func NewNumericField

func NewNumericField(name string, arrayPositions []uint64, number float64) *NumericField

func NewNumericFieldFromBytes

func NewNumericFieldFromBytes(name string, arrayPositions []uint64, value []byte) *NumericField

func NewNumericFieldWithIndexingOptions

func NewNumericFieldWithIndexingOptions(name string, arrayPositions []uint64, number float64, options IndexingOptions) *NumericField

func (*NumericField) Analyze

func (n *NumericField) Analyze() (int, analysis.TokenFrequencies)

func (*NumericField) ArrayPositions

func (n *NumericField) ArrayPositions() []uint64

func (*NumericField) GoString

func (n *NumericField) GoString() string

func (*NumericField) Name

func (n *NumericField) Name() string

func (*NumericField) NumPlainTextBytes

func (n *NumericField) NumPlainTextBytes() uint64

func (*NumericField) Number

func (n *NumericField) Number() (float64, error)

func (*NumericField) Options

func (n *NumericField) Options() IndexingOptions

func (*NumericField) Size

func (n *NumericField) Size() int

func (*NumericField) Value

func (n *NumericField) Value() []byte

type TextField

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

func NewTextField

func NewTextField(name string, arrayPositions []uint64, value []byte) *TextField

func NewTextFieldCustom

func NewTextFieldCustom(name string, arrayPositions []uint64, value []byte, options IndexingOptions, analyzer *analysis.Analyzer) *TextField

func NewTextFieldWithAnalyzer

func NewTextFieldWithAnalyzer(name string, arrayPositions []uint64, value []byte, analyzer *analysis.Analyzer) *TextField

func NewTextFieldWithIndexingOptions

func NewTextFieldWithIndexingOptions(name string, arrayPositions []uint64, value []byte, options IndexingOptions) *TextField

func (*TextField) Analyze

func (t *TextField) Analyze() (int, analysis.TokenFrequencies)

func (*TextField) Analyzer

func (t *TextField) Analyzer() *analysis.Analyzer

func (*TextField) ArrayPositions

func (t *TextField) ArrayPositions() []uint64

func (*TextField) GoString

func (t *TextField) GoString() string

func (*TextField) Name

func (t *TextField) Name() string

func (*TextField) NumPlainTextBytes

func (t *TextField) NumPlainTextBytes() uint64

func (*TextField) Options

func (t *TextField) Options() IndexingOptions

func (*TextField) Size

func (t *TextField) Size() int

func (*TextField) Value

func (t *TextField) Value() []byte