0
0
A modern text indexing library for go. (this is a mirror of the github repository) http://www.blevesearch.com/
Go to file
Marty Schoch 77101ae424 filter numeric range terms against the term dictionary
previously, all numeric terms required to implement a numeric
range search were passed to the disjunction query (possibly
exceeding the disjunction clause limit)

now, after producing the list of terms, we filter them against
the terms which actually exist in the term dictionary.  the
theory is that this will often greatly reduce the number of terms
and therefore reduce the likelihood that you would run into the
disjunction term limit in practice.

because the term dictionary interface does not have a seek API
and we're reluctant to add that now, i chose to do a binary
search of the terms, which either finds the term, or not. then
subsequent binary searches can proceed from that position,
since both the list of terms and the term dictionary are sorted.
2017-05-31 13:15:13 -04:00
analysis Merge pull request #587 from mschoch/add-spanish 2017-04-29 19:48:18 -04:00
cmd/bleve added hyphen in query sort by option 2017-05-18 11:27:51 -07:00
config remove forestdb from bleve 2017-03-30 12:27:23 -04:00
docs nicer formatting of license header 2016-10-02 10:13:14 -04:00
document add experimental support for indexing/query geo points 2017-03-24 17:22:21 -07:00
geo fix geo point distance search 2017-04-27 17:28:07 -04:00
http fix misspellings 2016-10-02 12:11:15 -04:00
index MB-24560: Add moss store|collection histograms to stats 2017-05-25 16:32:36 -07:00
mapping Merge pull request #593 from mschoch/add-text-marshaler 2017-05-19 09:54:09 -04:00
numeric add experimental support for indexing/query geo points 2017-03-24 17:22:21 -07:00
registry optimize FacetsBuilder with cached fields & avoid some allocs 2016-10-25 15:34:48 -07:00
search filter numeric range terms against the term dictionary 2017-05-31 13:15:13 -04:00
test introduce new query TermRange 2017-03-31 22:04:00 -04:00
vendor MB-22410 - Configurable forced Store Abort API 2017-03-07 19:33:51 +05:30
.gitignore initial refactor of query into separate package 2016-09-29 14:54:16 -04:00
.travis.yml remove firestorm index scheme 2016-06-26 07:51:41 -04:00
config_app.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
config_disk.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
config.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
CONTRIBUTING.md adding CONTRIBUTING.md to repo 2016-06-26 09:48:43 -04:00
doc.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
error.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
examples_test.go additional golint cleanups 2016-10-02 12:00:01 -04:00
index_alias_impl_test.go simplified MultiSearch requires that indexes honor context deadlines 2016-11-03 16:44:20 -07:00
index_alias_impl.go fix race condition in incorrectly shared state in MultiSearch 2017-04-06 17:49:33 -04:00
index_alias.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_impl.go Add new IndexAdvanced function 2017-04-12 00:31:51 +02:00
index_meta_test.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_meta.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_stats.go nicer formatting of license header 2016-10-02 10:13:14 -04:00
index_test.go Add new IndexAdvanced function 2017-04-12 00:31:51 +02:00
index.go add support for BleveType() alternative for type detection 2017-05-19 09:22:12 -04:00
LICENSE adding license file 2014-04-17 17:03:15 -04:00
mapping.go add experimental support for indexing/query geo points 2017-03-24 17:22:21 -07:00
query.go introduce new query TermRange 2017-03-31 22:04:00 -04:00
README.md Apache2 license badge 2017-02-13 16:09:54 -08:00
search_test.go clean up of unit test. 2017-02-02 23:33:26 +05:30
search.go MB-20793 : Validation for min/max/start/end params for numeric/date range facets 2017-02-02 12:15:48 +05:30

bleve bleve

Build Status 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

Try out bleve live by searching the bleve website.

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