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 9359a69ee5 add support for mapping to recognize/use TextMarshaler interface
Sometimes you have structs which contain data which isn't
exported, or for which the correct data to index isn't just the
contents of it's exported fields.  In these cases your struct
can implement TextMarshaler to return a suitable text
representation.

Previously bleve did not recognize this interface and do anything
to use it.  Now, if the field containing such a struct is
explicitly mapped as "text" and if the struct (or pointer to it)
implements TextMarshaler, we index a text field with the
contents returned by MarshalText().

For backwards compatibilty, dynamic mappings will never use
this feature, and will continue to traverse into the struct
and index the exported fields directly.

fixes #281
2017-05-18 15:08:33 -04:00
analysis Merge pull request #587 from mschoch/add-spanish 2017-04-29 19:48:18 -04:00
cmd/bleve Added name to copyright notice 2017-03-28 12:17:26 -05: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 fix geopoint fields to be able to be stored and retrieved 2017-03-31 09:40:54 -04:00
mapping add support for mapping to recognize/use TextMarshaler interface 2017-05-18 15:08:33 -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 fix panic in term range search 2017-05-05 23:13:04 -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 new IndexAdvanced function 2017-04-12 00:31:51 +02: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