Documentation ¶
Index ¶
- Constants
- func CompareVals(op string, arg1, arg2 Val) bool
- func Contains(a *s2.Loop, b *s2.Loop) bool
- func EarthAngle(dist float64) s1.Angle
- func Encrypt(plain string) (string, error)
- func Equal(a, b Val) (bool, error)
- func FilterGeoUids(uids *protos.List, values []*protos.TaskValue, q *GeoQueryData) *protos.List
- func IndexGeoTokens(g geom.T) ([]string, error)
- func Intersects(l1 *s2.Loop, l2 *s2.Loop) bool
- func IsGeoFunc(str string) bool
- func Less(a, b Val) (bool, error)
- func Marshal(from Val, to *Val) error
- func ObjectValue(id TypeID, value interface{}) (*protos.Value, error)
- func ParseTime(val string) (time.Time, error)
- func Sort(v [][]Val, ul *protos.List, desc []bool) error
- func SortWithFacet(v [][]Val, ul *protos.List, l []*protos.Facets, desc []bool) error
- func VerifyPassword(plain, encrypted string) error
- type Area
- type GeoQueryData
- type Length
- type QueryType
- type TypeID
- type Val
Constants ¶
const ( // MinCellLevel is the smallest cell level (largest cell size) used by indexing MinCellLevel = 5 // Approx 250km x 380km // MaxCellLevel is the largest cell level (smallest cell size) used by indexing MaxCellLevel = 16 // Approx 120m x 180m // MaxCells is the maximum number of cells to use when indexing regions. MaxCells = 18 )
const ( BinaryID = TypeID(protos.Posting_BINARY) IntID = TypeID(protos.Posting_INT) FloatID = TypeID(protos.Posting_FLOAT) BoolID = TypeID(protos.Posting_BOOL) DateTimeID = TypeID(protos.Posting_DATETIME) StringID = TypeID(protos.Posting_STRING) GeoID = TypeID(protos.Posting_GEO) UidID = TypeID(protos.Posting_UID) PasswordID = TypeID(protos.Posting_PASSWORD) DefaultID = TypeID(protos.Posting_DEFAULT) )
Note: These ids are stored in the posting lists to indicate the type of the data. The order *cannot* be changed without breaking existing data. When adding a new type *always* add to the end of this list. Never delete anything from this list even if it becomes unused.
const EarthRadiusMeters = 1000 * 6371
EarthRadiusMeters is the radius of the earth in meters (in a spherical earth model).
Variables ¶
This section is empty.
Functions ¶
func CompareVals ¶ added in v0.8.2
Should be used only in filtering arg1 by comparing with arg2. arg2 is reference Val to which arg1 is compared.
func EarthAngle ¶ added in v0.7.1
EarthAngle converts a to distance on earth in meters to an angle
func FilterGeoUids ¶ added in v0.7.1
FilterGeoUids filters the uids based on the corresponding values and GeoQueryData. The uids are obtained through the index. This second pass ensures that the values actually match the query criteria.
func IndexGeoTokens ¶ added in v0.7.1
IndexTokens returns the tokens to be used in a geospatial index for the given geometry. If the geometry is not supported it returns an error.
func Intersects ¶ added in v0.7.1
Intersects returns true if the two loops intersect.
func ObjectValue ¶ added in v0.7.1
ObjectValue converts into protos.Value.
func SortWithFacet ¶ added in v0.8.2
Sort sorts the given array in-place.
func VerifyPassword ¶ added in v0.7.3
Types ¶
type Area ¶ added in v0.7.1
type Area float64
Area denotes an area on Earth
type GeoQueryData ¶ added in v0.7.1
type GeoQueryData struct {
// contains filtered or unexported fields
}
GeoQueryData is internal data used by the geo query filter to additionally filter the geometries.
func GetGeoTokens ¶ added in v0.7.1
func GetGeoTokens(srcFunc *protos.SrcFunction) ([]string, *GeoQueryData, error)
GetGeoTokens returns the corresponding index keys based on the type of function.
func (GeoQueryData) MatchesFilter ¶ added in v0.7.1
func (q GeoQueryData) MatchesFilter(g geom.T) bool
MatchesFilter applies the query filter to a geo value
type Length ¶ added in v0.7.1
type Length float64
Length denotes a length on Earth
func EarthDistance ¶ added in v0.7.1
EarthDistance converts an angle to distance on earth in meters.
type QueryType ¶ added in v0.7.1
type QueryType byte
QueryType indicates the type of geo query.
const ( // QueryTypeWithin finds all points that are within the given geometry QueryTypeWithin QueryType = iota // QueryTypeContains finds all polygons that contain the given point QueryTypeContains // QueryTypeIntersects finds all objects that intersect the given geometry QueryTypeIntersects // QueryTypeNear finds all points that are within the given distance from the given point. QueryTypeNear )
type TypeID ¶
type TypeID protos.Posting_ValType
func TypeForName ¶
TypeForName returns the type corresponding to the given name. If name is not recognized, it returns nil.
func (TypeID) Enum ¶ added in v0.9.0
func (t TypeID) Enum() protos.Posting_ValType
type Val ¶ added in v0.7.1
type Val struct { Tid TypeID Value interface{} }
Val is a value with type information.
func ValueForType ¶
ValueForType returns the zero value for a type id