A modern text indexing library for go

Sreekanth Sivasankaran ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
.github 33b2bb8b4a Upgrade blevesearch/mmap-go, zapx, vellum versions (#1689) 2 months ago
analysis 2a263e09e6 Move kljensen/snowball import to blevesearch/snowball 4 months ago
cmd c4a3c9e6e1 go fmt ./... updates a few files 8 months ago
config 78caf678e5 go fmt ./... fixes config/config.go (#1637) 9 months ago
docs 2332455bd2 nicer formatting of license header 5 years ago
document ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
geo ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
http 1c7509d6a1 Link security advisory to README (#1694) 2 months ago
index ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
mapping ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
numeric 7740f389de MB-33455: improve ComputeGeoRange() performance 3 years ago
registry 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
search ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
size 06f7c58a35 Include missing initialization for size entry of integers 4 years ago
test 5824d08d9f Updating the multilinestring test document (#1676) 3 months ago
.gitignore 17d02632cc optimize TermFacets (#1404) 8 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 6 years ago
LICENSE 6e7aa57b52 adding license file 8 years ago
README.md d94673347d Add link to text analysis wizard to README (#1713) 2 weeks ago
SECURITY.md 47021eed92 Adding README to the bleve/http package (#1692) 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 8 months ago
config_disk.go c4a3c9e6e1 go fmt ./... updates a few files 8 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) 8 months ago
go.mod ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
go.sum ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
index.go c13a1403ac Changing the CopyTo method signature to accept a 1 year 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 ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 weeks ago
index_meta.go c13a1403ac Changing the CopyTo method signature to accept a 1 year 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 1cbcfd5fdb New stat for bytes read off the disk (#1702) 3 weeks ago
mapping.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 9 months ago
query.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 9 months ago
sample.txt 1cbcfd5fdb New stat for bytes read off the disk (#1702) 3 weeks ago
search.go 17d02632cc optimize TermFacets (#1404) 8 months ago
search_test.go 5c93488c77 Use of HTML character filter breaks highlighting 8 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
    • Geo Spatial
    • 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)

Command Line Interface

To install the CLI for the latest release of bleve, run:

$ go install github.com/blevesearch/bleve/v2/cmd/bleve@latest
$ bleve --help
Bleve is a command-line tool to interact with a bleve index.

Usage:
  bleve [command]

Available Commands:
  bulk        bulk loads from newline delimited JSON files
  check       checks the contents of the index
  count       counts the number documents in the index
  create      creates a new index
  dictionary  prints the term dictionary for the specified field in the index
  dump        dumps the contents of the index
  fields      lists the fields in this index
  help        Help about any command
  index       adds the files to the index
  mapping     prints the mapping used for this index
  query       queries the index
  registry    registry lists the bleve components compiled into this executable
  scorch      command-line tool to interact with a scorch index

Flags:
  -h, --help   help for bleve

Use "bleve [command] --help" for more information about a command.

Text Analysis Wizard

https://bleveanalysis.couchbase.com

License

Apache License Version 2.0