A modern text indexing library for go. (this is a mirror of the github repository)
http://www.blevesearch.com/
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. |
||
---|---|---|
analysis | ||
cmd/bleve | ||
config | ||
docs | ||
document | ||
geo | ||
http | ||
index | ||
mapping | ||
numeric | ||
registry | ||
search | ||
test | ||
vendor | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
config.go | ||
config_app.go | ||
config_disk.go | ||
doc.go | ||
error.go | ||
examples_test.go | ||
index.go | ||
index_alias.go | ||
index_alias_impl.go | ||
index_alias_impl_test.go | ||
index_impl.go | ||
index_meta.go | ||
index_meta_test.go | ||
index_stats.go | ||
index_test.go | ||
mapping.go | ||
query.go | ||
search.go | ||
search_test.go |
README.md
bleve
modern text indexing in go - blevesearch.com
Try out bleve live by searching the bleve website.
Features
- Index any go data structure (including JSON)
- Intelligent defaults backed up by powerful configuration
- Supported field types:
- Text, Numeric, Date
- Supported query types:
- Term, Phrase, Match, Match Phrase, Prefix
- Conjunction, Disjunction, Boolean
- Numeric Range, Date Range
- Simple query syntax for human entry
- tf-idf Scoring
- Search result match highlighting
- Supports Aggregating Facets:
- Terms Facet
- Numeric Range Facet
- Date Range Facet
Discussion
Discuss usage and development of bleve in the google group.
Indexing
message := struct{
Id string
From string
Body string
}{
Id: "example",
From: "marty.schoch@gmail.com",
Body: "bleve indexing is easy",
}
mapping := bleve.NewIndexMapping()
index, err := bleve.New("example.bleve", mapping)
if err != nil {
panic(err)
}
index.Index(message.Id, message)
Querying
index, _ := bleve.Open("example.bleve")
query := bleve.NewQueryStringQuery("bleve")
searchRequest := bleve.NewSearchRequest(query)
searchResult, _ := index.Search(searchRequest)
License
Apache License Version 2.0