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 97902e2619 text analysis now moved out of index write lock onto goroutine
1. text analysis is now done before the write lock is acquired
2. there is now a pool of analysis workers
3. the size of this pool is configurable
4. this allows for documents in a batch to be analyzed concurrently

as a part of benchmarking these changes i've also introduce a new
null storage implementation.  this should never be used, as it
does not actualy build an index.  it does however let us go
through all the normal indexing machinery, without incuring
any indexing I/O.  this is very helpful in measuring improvements
made to the text analsysis pipeline, which are often overshadowed
by indexing times in benchmarks actually building an index.
2014-09-24 08:13:14 -04:00
analysis modified token filters to avoid creating new token stream 2014-09-23 18:41:32 -04:00
docs upaated README 2014-07-31 10:58:20 -04:00
document continued refactoring of the mapping code 2014-09-03 13:02:10 -04:00
http added json struct tag to http doc count response 2014-09-05 12:16:26 -04:00
index text analysis now moved out of index write lock onto goroutine 2014-09-24 08:13:14 -04:00
numeric_util more golint cleanups 2014-09-03 18:47:02 -04:00
registry fix compilation 2014-09-07 14:13:32 -04:00
search text analysis now moved out of index write lock onto goroutine 2014-09-24 08:13:14 -04:00
utils refactor registry package and bleve_registry utility 2014-09-07 14:07:42 -04:00
.gitignore renamed/moved examples/bleve_index_json to utils/bleve_index 2014-09-01 16:14:29 -04:00
config_cld2.go rename imports from couchbaselabs to blevesearch 2014-08-28 15:38:57 -04:00
config_icu.go rename imports from couchbaselabs to blevesearch 2014-08-28 15:38:57 -04:00
config_kagome.go relocated kagome tokenizer and introduced ja analyzer 2014-09-16 11:21:29 -04:00
config_leveldb.go rename imports from couchbaselabs to blevesearch 2014-08-28 15:38:57 -04:00
config_stemmer.go rename imports from couchbaselabs to blevesearch 2014-08-28 15:38:57 -04:00
config.go text analysis now moved out of index write lock onto goroutine 2014-09-24 08:13:14 -04:00
doc.go apply doc fix patch from rakoo 2014-09-07 09:09:47 -04:00
error.go fix issues identified by go lint 2014-09-02 17:40:46 -04:00
genparser.sh change to make generated lexer private 2014-08-29 23:31:40 -04:00
index_impl.go text analysis now moved out of index write lock onto goroutine 2014-09-24 08:13:14 -04:00
index_meta_test.go renamed SyntaxQuery QueryStringQuery 2014-08-29 15:19:02 -04:00
index_meta.go fix issues identified by go lint 2014-09-02 17:40:46 -04:00
index_test.go further refactoring of index mappings 2014-09-03 16:40:10 -04:00
index.go improve go docs at the top level 2014-08-31 10:55:22 -04:00
LICENSE adding license file 2014-04-17 17:03:15 -04:00
mapping_document.go converted ALL_CAPS constants to CamelCase 2014-09-03 17:48:40 -04:00
mapping_field.go further refactoring of index mappings 2014-09-03 16:40:10 -04:00
mapping_index.go changed many components to not have defaults 2014-09-09 18:15:14 -04:00
mapping_test.go further refactoring of index mappings 2014-09-03 16:40:10 -04:00
query_boolean.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_conjunction.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_date_range.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_disjunction.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_match_all.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_match_none.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_match_phrase.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_match.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_numeric_range.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_phrase.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_prefix.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_string_parser_test.go made parse query string private 2014-08-29 19:31:09 -04:00
query_string_parser.go change to make generated lexer private 2014-08-29 23:31:40 -04:00
query_string.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_string.nex renamed SyntaxQuery QueryStringQuery 2014-08-29 15:19:02 -04:00
query_string.nn.go change to make generated lexer private 2014-08-29 23:31:40 -04:00
query_string.y refactor to make all the query classes private 2014-08-29 18:14:12 -04:00
query_term.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
query_test.go changed error constants to camel case 2014-09-02 14:14:05 -04:00
query.go major refactor of kvstore/index internals, see below 2014-09-12 17:21:35 -04:00
README.md Update README.md 2014-09-13 19:38:24 -07:00
reflect.go change another variable capitalization 2014-09-02 14:22:21 -04:00
search.go added convenience method to add field to highlight request 2014-09-04 10:13:13 -04:00
y.go refactor to make all the query classes private 2014-08-29 18:14:12 -04:00

bleve bleve

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, _ := bleve.New("example.bleve", mapping)
	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

Status

Build Status Coverage Status