A modern text indexing library for go

Abhi Dangeti e9309c1370 Update README, GO version to 1.18 (#1728) 3 weeks ago
.github e9309c1370 Update README, GO version to 1.18 (#1728) 3 weeks ago
analysis 2a263e09e6 Move kljensen/snowball import to blevesearch/snowball 6 months ago
cmd c4a3c9e6e1 go fmt ./... updates a few files 10 months ago
config 78caf678e5 go fmt ./... fixes config/config.go (#1637) 11 months ago
data d89c6c0a68 Fix the IOStats computation (#1710) 1 month ago
docs 2332455bd2 nicer formatting of license header 6 years ago
document ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 months ago
geo ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 months ago
http 1c7509d6a1 Link security advisory to README (#1694) 4 months ago
index d89c6c0a68 Fix the IOStats computation (#1710) 1 month ago
mapping ec0d3aa138 Support `store` option for the geoshape field (#1714) 2 months ago
numeric 7740f389de MB-33455: improve ComputeGeoRange() performance 3 years ago
registry 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
search bed1f365e5 Added intersects unit tests and fixed existing tests. (#1720) 1 month ago
size 06f7c58a35 Include missing initialization for size entry of integers 4 years ago
test 5824d08d9f Updating the multilinestring test document (#1676) 5 months ago
.gitignore 17d02632cc optimize TermFacets (#1404) 10 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 e9309c1370 Update README, GO version to 1.18 (#1728) 3 weeks ago
SECURITY.md 47021eed92 Adding README to the bleve/http package (#1692) 4 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 10 months ago
config_disk.go c4a3c9e6e1 go fmt ./... updates a few files 10 months ago
doc.go 2332455bd2 nicer formatting of license header 6 years ago
error.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
examples_test.go 17d02632cc optimize TermFacets (#1404) 10 months ago
go.mod e9309c1370 Update README, GO version to 1.18 (#1728) 3 weeks ago
go.sum e9309c1370 Update README, GO version to 1.18 (#1728) 3 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 6 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 months 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 6 years ago
index_stats.go 2332455bd2 nicer formatting of license header 6 years ago
index_test.go d89c6c0a68 Fix the IOStats computation (#1710) 1 month ago
mapping.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 11 months ago
query.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 11 months ago
search.go 17d02632cc optimize TermFacets (#1404) 10 months ago
search_test.go 5c93488c77 Use of HTML character filter breaks highlighting 10 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, Datetime, Boolean
  • Supported query types:
    • Term, Phrase, Match, Match Phrase, Prefix, Fuzzy
    • Conjunction, Disjunction, Boolean (must/should/must_not)
    • Term Range, Numeric Range, Date Range
    • Geo Spatial
    • Simple query string syntax for human entry
  • tf-idf Scoring
  • Boosting
  • Search result match highlighting
  • Aggregations/faceting support:
    • Terms Facet
    • Numeric Range Facet
    • Date Range Facet

Discussion/Issues

Discuss usage/development of bleve and/or report issues here:

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

bleveanalysis.couchbase.com

License

Apache License Version 2.0