a16efa5e78
New field type GeoPointField, or "geopoint" in mapping JSON. Currently structs and maps are considered when a mapping explicitly marks a field as type "geopoint". Several variants of "lon", "lng", and "lat" are looked for in map keys, struct field names, or method names. New query type GeoBoundingBoxQuery searches for documents which have a GeoPointField indexed with a value that is inside the specified bounding box. New query type GeoDistanceQuery searches for documents which have a GeoPointField indexed with a value that is less than or equal to the specified distance from the specified location. New sort by method "geo_distance". Hits can be sorted by their distance from the specified location. New geo utility package with all routines ported from Lucene. New FilteringSearcher, which wraps an existing Searcher, but filters all hits with a user-provided callback.
66 lines
2.2 KiB
Go
66 lines
2.2 KiB
Go
// Copyright (c) 2014 Couchbase, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package bleve
|
|
|
|
import "github.com/blevesearch/bleve/mapping"
|
|
|
|
// NewIndexMapping creates a new IndexMapping that will use all the default indexing rules
|
|
func NewIndexMapping() *mapping.IndexMappingImpl {
|
|
return mapping.NewIndexMapping()
|
|
}
|
|
|
|
// NewDocumentMapping returns a new document mapping
|
|
// with all the default values.
|
|
func NewDocumentMapping() *mapping.DocumentMapping {
|
|
return mapping.NewDocumentMapping()
|
|
}
|
|
|
|
// NewDocumentStaticMapping returns a new document
|
|
// mapping that will not automatically index parts
|
|
// of a document without an explicit mapping.
|
|
func NewDocumentStaticMapping() *mapping.DocumentMapping {
|
|
return mapping.NewDocumentStaticMapping()
|
|
}
|
|
|
|
// NewDocumentDisabledMapping returns a new document
|
|
// mapping that will not perform any indexing.
|
|
func NewDocumentDisabledMapping() *mapping.DocumentMapping {
|
|
return mapping.NewDocumentDisabledMapping()
|
|
}
|
|
|
|
// NewTextFieldMapping returns a default field mapping for text
|
|
func NewTextFieldMapping() *mapping.FieldMapping {
|
|
return mapping.NewTextFieldMapping()
|
|
}
|
|
|
|
// NewNumericFieldMapping returns a default field mapping for numbers
|
|
func NewNumericFieldMapping() *mapping.FieldMapping {
|
|
return mapping.NewNumericFieldMapping()
|
|
}
|
|
|
|
// NewDateTimeFieldMapping returns a default field mapping for dates
|
|
func NewDateTimeFieldMapping() *mapping.FieldMapping {
|
|
return mapping.NewDateTimeFieldMapping()
|
|
}
|
|
|
|
// NewBooleanFieldMapping returns a default field mapping for booleans
|
|
func NewBooleanFieldMapping() *mapping.FieldMapping {
|
|
return mapping.NewBooleanFieldMapping()
|
|
}
|
|
|
|
func NewGeoPointFieldMapping() *mapping.FieldMapping {
|
|
return mapping.NewGeoPointFieldMapping()
|
|
}
|