0
0
A modern text indexing library for go. (this is a mirror of the github repository) http://www.blevesearch.com/
Go to file
Steve Yen e344582021 optimize DisjunctionSearcher.Next()
This change simplifies and removes the DisjunctionSearcher.currentID
tracking, and instead utilizes the the matching/matchingIdxs slices
for tracking the required information.

As the core of the optimization, the previous code used two loop
passses to compare the internal ID's to the currentID field.  This
commit instead optimizes to have a single pass to both compare the
internalID's and to also maintain the matching/matchingIdxs arrays.

On my dev box, using a bleve-query benchmark on a wiki dataset, with
query-string of "text:afternoon text:coffee", the previous code had
throughput of 958qps, and this commit has 1174qps.
2016-09-20 19:22:37 -07:00
analysis make shingle token filter stateless 2016-09-15 08:59:43 -04:00
cmd/bleve add build tag to ignore gendocs by default 2016-09-20 13:58:59 -04:00
config fix bug counting docs and make smolder selectable 2016-09-11 20:29:15 -04:00
docs add build tag protecting merge-coverprofile 2016-09-20 14:29:01 -04:00
document change sort field impl to use indexed values not stored values 2016-08-17 09:20:44 -07:00
http BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
index Merge pull request #432 from steveyen/perf-skip-0xff-scan 2016-09-18 12:20:21 -04:00
numeric_util change sort field impl to use indexed values not stored values 2016-08-17 09:20:44 -07:00
registry remove unused code 2016-08-31 13:52:02 -04:00
search optimize DisjunctionSearcher.Next() 2016-09-20 19:22:37 -07:00
test removed unused AsyncIndex interface 2016-09-13 08:42:36 -04:00
vendor add cuckoofilter and gofarmhash to manifest 2016-09-12 14:34:07 -04:00
.gitignore Merge branch 'sedtweak' of https://github.com/bcampbell/bleve into bcampbell-sedtweak 2016-09-01 13:55:15 -04:00
.travis.yml remove firestorm index scheme 2016-06-26 07:51:41 -04:00
config_app.go attempt to support google app engine 2016-07-29 21:29:05 -04:00
config_disk.go attempt to support google app engine 2016-07-29 21:29:05 -04:00
config.go attempt to support google app engine 2016-07-29 21:29:05 -04:00
CONTRIBUTING.md adding CONTRIBUTING.md to repo 2016-06-26 09:48:43 -04:00
doc.go apply doc fix patch from rakoo 2014-09-07 09:09:47 -04:00
error.go remove temporary error and replace with permanent check 2016-02-03 10:23:49 -05:00
examples_test.go add example usage of SortBy and SortByCustom 2016-08-18 13:03:48 -07:00
index_alias_impl_test.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
index_alias_impl.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
index_alias.go Fix typos in comments and strings 2014-12-18 18:43:12 +01:00
index_impl.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
index_meta_test.go fix issues identified by errcheck 2015-04-07 15:39:56 -04:00
index_meta.go Minor fix to ensure full index path exists 2016-03-13 21:44:21 -06:00
index_stats.go moved fields requiring 64-bit alignment to start of struct 2016-03-20 10:38:28 -04:00
index_test.go further tweaks, now all bleve tests pass 2016-09-11 20:29:15 -04:00
index.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
LICENSE adding license file 2014-04-17 17:03:15 -04:00
mapping_document.go fix indexing of primitives not inside map/struct 2016-06-21 21:15:36 -04:00
mapping_field.go add support for toggling Store/Index Dynamic in IndexMapping 2016-03-08 07:58:29 -05:00
mapping_index.go remove byte_array_conveters 2016-07-01 10:21:41 -04:00
mapping_test.go fix indexing of primitives not inside map/struct 2016-06-21 21:15:36 -04:00
query_bool_field.go Implemented boolean field support 2016-01-11 17:18:03 -08:00
query_boolean.go optimization when boolean query has should constituents only 2016-09-20 18:26:00 -07:00
query_conjunction.go simplify date parsing in queries, add date to query string 2016-04-22 17:12:10 -04:00
query_date_range.go update godocs for date range querying 2016-06-26 10:25:09 -04:00
query_disjunction.go simplify date parsing in queries, add date to query string 2016-04-22 17:12:10 -04:00
query_docid.go query_docid: add DocIDQuery to filter by document identifiers 2015-11-04 18:41:16 +01:00
query_fuzzy.go Fix some typos 2016-01-15 05:46:27 +07:00
query_match_all.go fix marshaling of MatchAll queries 2016-04-07 18:20:35 -04:00
query_match_none.go fix marshaling of MatchNone queries 2016-04-16 20:51:27 -04:00
query_match_phrase.go mapping_field: document IncludeTermVectors 2015-11-19 15:38:16 +01:00
query_match.go added match query operator 2016-07-06 13:15:56 +02:00
query_numeric_range.go Update NumericRangeQuery comments 2015-11-12 22:16:10 +01:00
query_phrase.go mapping_field: document IncludeTermVectors 2015-11-19 15:38:16 +01:00
query_prefix.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_regexp.go more correct fix, handles case where validate is called 2016-01-21 17:26:24 -05:00
query_string_lex.go replaced nex lexer with custom lexer 2016-09-01 13:16:07 -04:00
query_string_parser_test.go replaced nex lexer with custom lexer 2016-09-01 13:16:07 -04:00
query_string_parser.go Merge branch 'sedtweak' of https://github.com/bcampbell/bleve into bcampbell-sedtweak 2016-09-01 13:55:15 -04:00
query_string.go simplify date parsing in queries, add date to query string 2016-04-22 17:12:10 -04:00
query_string.y replaced nex lexer with custom lexer 2016-09-01 13:16:07 -04:00
query_string.y.go replaced nex lexer with custom lexer 2016-09-01 13:16:07 -04:00
query_term.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_test.go added match query operator 2016-07-06 13:15:56 +02:00
query_wildcard.go added regexp and wildcard queries 2015-03-11 16:57:22 -04:00
query.go simplify date parsing in queries, add date to query string 2016-04-22 17:12:10 -04:00
README.md adding goreportcard 2016-04-02 21:01:23 -04:00
reflect.go typo in lookupPropertyPathPart() func name 2015-11-23 09:27:22 -08:00
search_test.go parse search results by converting strings back to errors 2016-04-26 17:56:37 -04:00
search.go adjust new sort functionality to also work with MultiSearch 2016-08-24 14:07:10 -04:00

bleve bleve

Build Status Coverage Status GoDoc Join the chat at https://gitter.im/blevesearch/bleve codebeat Go Report Card

modern text indexing in go - blevesearch.com

Try out bleve live by searching our wiki.

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