A modern text indexing library for go
Go Other
Latest commit f94a790 Jan 18, 2017 @mschoch mschoch committed on GitHub Merge pull request #520 from mschoch/faster_regexp
improve performance of regular expression and wildcard queries
Permalink
Failed to load latest commit information.
analysis fix the confusing variable name Jan 14, 2017
cmd/bleve vendor mousetrap Oct 24, 2016
config renamed detect_lang to detectlang Jan 9, 2017
docs nicer formatting of license header Oct 2, 2016
document nicer formatting of license header Oct 2, 2016
http fix misspellings Oct 2, 2016
index optimize mergeOldAndNew for case of first time a doc is seen Jan 10, 2017
mapping fix type identification when object indexed is pointer to struct Dec 8, 2016
numeric nicer formatting of license header Oct 2, 2016
registry optimize FacetsBuilder with cached fields & avoid some allocs Oct 25, 2016
search improve performance of regular expression and wildcard queries Jan 18, 2017
test API change: optional SearchRequest.IncludeLocations flag Jan 6, 2017
vendor update moss gvt manifest for SeekTo() API Sep 23, 2016
.gitignore initial refactor of query into separate package Sep 29, 2016
.travis.yml remove firestorm index scheme Jun 26, 2016
CONTRIBUTING.md adding CONTRIBUTING.md to repo Jun 26, 2016
LICENSE adding license file Apr 17, 2014
README.md update readme Sep 29, 2016
config.go nicer formatting of license header Oct 2, 2016
config_app.go nicer formatting of license header Oct 2, 2016
config_disk.go nicer formatting of license header Oct 2, 2016
doc.go nicer formatting of license header Oct 2, 2016
error.go nicer formatting of license header Oct 2, 2016
examples_test.go additional golint cleanups Oct 2, 2016
index.go Add comment about JSON serialization of kvconfig Oct 19, 2016
index_alias.go nicer formatting of license header Oct 2, 2016
index_alias_impl.go API change: optional SearchRequest.IncludeLocations flag Jan 6, 2017
index_alias_impl_test.go simplified MultiSearch requires that indexes honor context deadlines Nov 3, 2016
index_impl.go API change: optional SearchRequest.IncludeLocations flag Jan 6, 2017
index_meta.go nicer formatting of license header Oct 2, 2016
index_meta_test.go nicer formatting of license header Oct 2, 2016
index_stats.go nicer formatting of license header Oct 2, 2016
index_test.go API change: optional SearchRequest.IncludeLocations flag Jan 6, 2017
mapping.go nicer formatting of license header Oct 2, 2016
query.go Settle on default fuzziness of 1 (for now) Oct 4, 2016
search.go API change: optional SearchRequest.IncludeLocations flag Jan 6, 2017
search_test.go nicer formatting of license header Oct 2, 2016

README.md

bleve bleve

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

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