#  bleve [](https://github.com/blevesearch/bleve/actions?query=workflow%3ATests+event%3Apush+branch%3Amaster) [](https://coveralls.io/github/blevesearch/bleve?branch=master) [](https://godoc.org/github.com/blevesearch/bleve) [](https://gitter.im/blevesearch/bleve?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://codebeat.co/projects/github-com-blevesearch-bleve) [](https://goreportcard.com/report/blevesearch/bleve) [](https://sourcegraph.com/github.com/blevesearch/bleve?badge) [](https://opensource.org/licenses/Apache-2.0) modern text indexing in go - [blevesearch.com](http://www.blevesearch.com/) ## 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](http://www.blevesearch.com/docs/Query-String-Query/) 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](https://groups.google.com/forum/#!forum/bleve). ## Indexing ```go 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 ```go index, _ := bleve.Open("example.bleve") query := bleve.NewQueryStringQuery("bleve") searchRequest := bleve.NewSearchRequest(query) searchResult, _ := index.Search(searchRequest) ``` ## License Apache License Version 2.0