0
0
A modern text indexing library for go. (this is a mirror of the github repository) http://www.blevesearch.com/
Go to file
Marty Schoch 0eba2a3f0c reduce garbage created while processing facets
previously we parsed/returned large sections of the documents
back index row in order to compute facet information.  this
would require parsing the protobuf of the entire back index row.
unfortunately this creates considerable garbage.

this new version introduces a visitor/callback approach to
working with data inside the back index row.  the benefit
of this approach is that we can let the higher-level code
see values, prior to any copies of data being made or
intermediate garbage being created.  implementations of
the callback must copy any value which they would like to
retain beyond the callback.

NOTE: this approach is duplicates code from the
automatically generated protobuf code

NOTE: this approach assumes that the "field" field be serialized
before the "terms" field.  This is guaranteed by our currently
generated protobuf encoder, and is recommended by the protobuf
spec.  But, decoders SHOULD support them occuring in any order,
which we do not.
2017-03-02 17:00:46 -05:00
analysis add validtion which checks the type of char/token filters 2017-02-24 15:57:10 -05:00
cmd/bleve use cobra command Annotations to identify mutating commands 2017-02-15 15:37:26 -05:00
config remove smolder indexing scheme 2017-03-01 14:38:17 -05:00
docs nicer formatting of license header 2016-10-02 10:13:14 -04:00
document nicer formatting of license header 2016-10-02 10:13:14 -04:00
http fix misspellings 2016-10-02 12:11:15 -04:00
index reduce garbage created while processing facets 2017-03-02 17:00:46 -05:00
mapping fix type identification when object indexed is pointer to struct 2016-12-08 08:07:38 -05:00
numeric nicer formatting of license header 2016-10-02 10:13:14 -04:00
registry optimize FacetsBuilder with cached fields & avoid some allocs 2016-10-25 15:34:48 -07:00
search reduce garbage created while processing facets 2017-03-02 17:00:46 -05:00
test add query support for multi-phrase 2017-02-10 16:46:38 -05:00
vendor update moss gvt manifest for SeekTo() API 2016-09-23 07:18:14 -07:00
.gitignore initial refactor of query into separate package 2016-09-29 14:54:16 -04:00
.travis.yml remove firestorm index scheme 2016-06-26 07:51:41 -04:00
config_app.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
config_disk.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
config.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
CONTRIBUTING.md adding CONTRIBUTING.md to repo 2016-06-26 09:48:43 -04:00
doc.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
error.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
examples_test.go additional golint cleanups 2016-10-02 12:00:01 -04:00
index_alias_impl_test.go simplified MultiSearch requires that indexes honor context deadlines 2016-11-03 16:44:20 -07:00
index_alias_impl.go API change: optional SearchRequest.IncludeLocations flag 2017-01-05 21:11:22 -08:00
index_alias.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_impl.go API change: optional SearchRequest.IncludeLocations flag 2017-01-05 21:11:22 -08:00
index_meta_test.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_meta.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_stats.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_test.go remove use of float64 to represent int things 2017-02-09 20:15:59 -05:00
index.go Add comment about JSON serialization of kvconfig 2016-10-19 10:19:14 -04:00
LICENSE adding license file 2014-04-17 17:03:15 -04:00
mapping.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
query.go Settle on default fuzziness of 1 (for now) 2016-10-04 15:00:50 +13:00
README.md Apache2 license badge 2017-02-13 16:09:54 -08:00
search_test.go clean up of unit test. 2017-02-02 23:33:26 +05:30
search.go MB-20793 : Validation for min/max/start/end params for numeric/date range facets 2017-02-02 12:15:48 +05:30

bleve bleve

Build Status Coverage Status GoDoc Join the chat at https://gitter.im/blevesearch/bleve codebeat Go Report Card Sourcegraph License

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