mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-25 11:16:11 +01:00
fdf750e4d4
* Update blevesearch v0.8.1 -> v1.0.7 * make vendor Co-authored-by: zeripath <art27@cantab.net> |
||
---|---|---|
.. | ||
analysis | ||
document | ||
geo | ||
index | ||
mapping | ||
numeric | ||
registry | ||
search | ||
size | ||
.gitignore | ||
.travis.yml | ||
config.go | ||
config_app.go | ||
config_disk.go | ||
CONTRIBUTING.md | ||
doc.go | ||
error.go | ||
go.mod | ||
index.go | ||
index_alias.go | ||
index_alias_impl.go | ||
index_impl.go | ||
index_meta.go | ||
index_stats.go | ||
LICENSE | ||
mapping.go | ||
query.go | ||
README.md | ||
search.go |
bleve
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