A modern text indexing library for go

Abhi Dangeti a1f2b3e0d0 Emit numeric range and date range facets for SearchResult's String() (#1764) 2 days ago
.github e9309c1370 Update README, GO version to 1.18 (#1728) 2 months ago
analysis 5728b8aa73 When using cjk analyzer with `output_unigram`, an unigram before Japanese punctuation is not indexed (#1724) 2 days ago
cmd c4a3c9e6e1 go fmt ./... updates a few files 11 months ago
config 78caf678e5 go fmt ./... fixes config/config.go (#1637) 1 year ago
data d89c6c0a68 Fix the IOStats computation (#1710) 3 months ago
docs 2332455bd2 nicer formatting of license header 6 years ago
document 1643dc3a8b Returning bytesRead as part of searchResult (#1752) 3 weeks ago
geo ec0d3aa138 Support `store` option for the geoshape field (#1714) 4 months ago
http 1c7509d6a1 Link security advisory to README (#1694) 6 months ago
index 56dc9b2550 Remove extra type alias for DiskStatsReporter (#1753) 3 weeks ago
mapping bc7a7b554a allow custom analyzers (#1729) 1 month ago
numeric 7740f389de MB-33455: improve ComputeGeoRange() performance 3 years ago
registry bc7a7b554a allow custom analyzers (#1729) 1 month ago
search 1643dc3a8b Returning bytesRead as part of searchResult (#1752) 3 weeks ago
size 06f7c58a35 Include missing initialization for size entry of integers 4 years ago
test 1643dc3a8b Returning bytesRead as part of searchResult (#1752) 3 weeks ago
.gitignore 17d02632cc optimize TermFacets (#1404) 1 year 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) 2 months ago
SECURITY.md 47021eed92 Adding README to the bleve/http package (#1692) 6 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 11 months ago
config_disk.go c4a3c9e6e1 go fmt ./... updates a few files 11 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) 1 year ago
go.mod 60dd8737f8 Upgrade to blevesearch/zapx@v15.3.8 (#1762) 3 days ago
go.sum 60dd8737f8 Upgrade to blevesearch/zapx@v15.3.8 (#1762) 3 days 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 1643dc3a8b Returning bytesRead as part of searchResult (#1752) 3 weeks ago
index_alias_impl_test.go 89234a626e bleve v2.0.0 proposal PR (#1494) 1 year ago
index_impl.go 1643dc3a8b Returning bytesRead as part of searchResult (#1752) 3 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 6 years ago
index_stats.go 2332455bd2 nicer formatting of license header 6 years ago
index_test.go 1643dc3a8b Returning bytesRead as part of searchResult (#1752) 3 weeks ago
mapping.go 135ba33769 Add NewGeoShapeFieldMapping() method to mapping.go (#1741) 1 month ago
query.go 6ab7a1107d IPRangeQuery to search for IPs which are members of a subnet. (#1546) 1 year ago
query_bench_test.go 7e6d848fb8 Adding benchmark tests over some popular queries (#1755) 2 weeks ago
search.go a1f2b3e0d0 Emit numeric range and date range facets for SearchResult's String() (#1764) 2 days ago
search_test.go bc7a7b554a allow custom analyzers (#1729) 1 month 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