forgejo/vendor/github.com/blevesearch/bleve/v2
2021-02-28 18:08:33 -05:00
..
analysis
document
geo
index
mapping
numeric
registry
search
size
.gitignore
.travis.yml
builder.go
config.go
config_app.go
config_disk.go
CONTRIBUTING.md
doc.go
error.go
go.mod go1.16 (#14783) 2021-02-28 18:08:33 -05:00
go.sum go1.16 (#14783) 2021-02-28 18:08:33 -05:00
index.go
index_alias.go
index_alias_impl.go
index_impl.go
index_meta.go
index_stats.go
LICENSE
mapping.go
query.go
README.md
search.go go1.16 (#14783) 2021-02-28 18:08:33 -05:00

bleve bleve

Tests 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

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