A modern text indexing library for go

Marty Schoch 3c30bc2d47 account for memory allocated during text analysis 1 year ago
analysis 3c30bc2d47 account for memory allocated during text analysis 1 year ago
cmd 6b448cffe5 add ability change default open read-only flag 1 year ago
config 4d71e901e8 make new analyzers available to consumers of the config pkg 2 years ago
docs 2332455bd2 nicer formatting of license header 3 years ago
document bdd917bb12 MB-28847: Account for total documents' size within a batch 1 year ago
geo 8df8d4e797 fix geo point distance search 2 years ago
http 00722aa299 disable http unit test which relied on debug functionality 2 years ago
index 3c30bc2d47 account for memory allocated during text analysis 1 year ago
mapping 6451c8c37f MB-26396: Handling documents with geopoints in slice format 2 years ago
numeric a16efa5e78 add experimental support for indexing/query geo points 2 years ago
registry 2a8237e8cc optimize FacetsBuilder with cached fields & avoid some allocs 3 years ago
search 542efc16c6 alternate disjunction searcher impl using heap 1 year ago
size 7e36109b3c MB-28162: Provide API to estimate memory needed to run a search query 2 years ago
test b4ac8051d1 optimize reuse of DocMatch.FieldTermLocations & Vectors during search 1 year ago
vendor 8e8c3ee8c9 Adding RoaringBitmap/roaring to the bleve vendor manifest 2 years ago
.gitignore 9ec2ddd757 initial refactor of query into separate package 3 years ago
.travis.yml f58a205ae8 remove 1.6 from travis, add "1.10" 2 years ago
CONTRIBUTING.md 2807a2c8bd adding CONTRIBUTING.md to repo 3 years ago
LICENSE 6e7aa57b52 adding license file 5 years ago
README.md d14b290235 Fix coverage badge in README 2 years ago
config.go 94b0367e47 switch back to upsidedown as default index before merge to master 2 years ago
config_app.go 2332455bd2 nicer formatting of license header 3 years ago
config_disk.go 2332455bd2 nicer formatting of license header 3 years ago
doc.go 2332455bd2 nicer formatting of license header 3 years ago
error.go 2332455bd2 nicer formatting of license header 3 years ago
examples_test.go 2dc2130633 additional golint cleanups 3 years ago
index.go bdd917bb12 MB-28847: Account for total documents' size within a batch 1 year ago
index_alias.go 2332455bd2 nicer formatting of license header 3 years ago
index_alias_impl.go c74e08f039 BREAKING API CHANGE - use stdlib context pkg 2 years ago
index_alias_impl_test.go 8063132766 fix new issues found by go vet when using stdlib context pkg 2 years ago
index_impl.go d54898da6a optimize to return nil SearchResult.Errors on success 1 year ago
index_meta.go 2332455bd2 nicer formatting of license header 3 years ago
index_meta_test.go 2332455bd2 nicer formatting of license header 3 years ago
index_stats.go 2332455bd2 nicer formatting of license header 3 years ago
index_test.go 40f63baeb9 MB-28562: Support search query callbacks before and after execution 2 years ago
mapping.go a16efa5e78 add experimental support for indexing/query geo points 2 years ago
query.go 4ddc50e86d typo in documentation 2 years ago
search.go 33ef4ce35e MB-28163: Provide an API to estimate the RAM needed for SearchResult 2 years ago
search_test.go 33ef4ce35e MB-28163: Provide an API to estimate the RAM needed for SearchResult 2 years ago

README.md

bleve bleve

Build Status Coverage Status GoDoc 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