A modern text indexing library for go

Sreekanth Sivasankaran 5824d08d9f Updating the multilinestring test document (#1676) 3 weeks ago
.github 9893fb9b33 Drop codeql-analysis.yml (#1661) 2 months ago
analysis 2a263e09e6 Move kljensen/snowball import to blevesearch/snowball 2 months ago
cmd c4a3c9e6e1 go fmt ./... updates a few files 5 months ago
config 78caf678e5 go fmt ./... fixes config/config.go (#1637) 6 months ago
docs 2332455bd2 nicer formatting of license header 5 years ago
document bf5184b9ee Adding GeoJSON spatial capability 1 month ago
geo 369f413753 Updating the geo readme. (#1673) 1 month ago
http 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
index bf5184b9ee Adding GeoJSON spatial capability 1 month ago
mapping bf5184b9ee Adding GeoJSON spatial capability 1 month ago
numeric 7740f389de MB-33455: improve ComputeGeoRange() performance 3 years ago
registry 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
search 1735fdc44a Updating integration tests 4 weeks ago
size 06f7c58a35 Include missing initialization for size entry of integers 4 years ago
test 5824d08d9f Updating the multilinestring test document (#1676) 3 weeks ago
.gitignore 17d02632cc optimize TermFacets (#1404) 5 months ago
.travis.yml 314af13184 Update .travis.yml to include testing on go version 1.14.x 2 years ago
CONTRIBUTING.md 2807a2c8bd adding CONTRIBUTING.md to repo 5 years ago
LICENSE 6e7aa57b52 adding license file 8 years ago
README.md 8b1000c0c9 remove search from readme (#1542) 1 year ago
SECURITY.md 5f43068c5e Create SECURITY.md 2 months ago
builder.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
builder_test.go c5a10892e3 introduce new scorch index builder (#1282) 2 years ago
config.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
config_app.go c4a3c9e6e1 go fmt ./... updates a few files 5 months ago
config_disk.go c4a3c9e6e1 go fmt ./... updates a few files 5 months ago
doc.go 2332455bd2 nicer formatting of license header 5 years ago
error.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
examples_test.go 17d02632cc optimize TermFacets (#1404) 5 months ago
go.mod 63a2b97698 Updating the s2/geo version 1 month ago
go.sum 63a2b97698 Updating the s2/geo version 1 month ago
index.go c13a1403ac Changing the CopyTo method signature to accept a 9 months ago
index_alias.go 2332455bd2 nicer formatting of license header 5 years ago
index_alias_impl.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
index_alias_impl_test.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
index_impl.go c13a1403ac Changing the CopyTo method signature to accept a 9 months ago
index_meta.go c13a1403ac Changing the CopyTo method signature to accept a 9 months ago
index_meta_test.go 2332455bd2 nicer formatting of license header 5 years ago
index_stats.go 2332455bd2 nicer formatting of license header 5 years ago
index_test.go c13a1403ac Changing the CopyTo method signature to accept a 9 months ago
mapping.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 6 months ago
query.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 6 months ago
search.go 17d02632cc optimize TermFacets (#1404) 5 months ago
search_test.go 5c93488c77 Use of HTML character filter breaks highlighting 5 months ago

README.md

bleve bleve

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