Go语言实现的全文检索引擎:bleve
jopen
10年前
bleve是一个Go语言实现的全文检索引擎,现代文本索引库。结合sego或goseg就能够实现一个中文搜索引擎。
特性
- 可以索引任何Go数据结构(包括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 </ul> </li>
- tf-idf Scoring
- Search result match highlighting
- Supports Aggregating Facets:
- Terms Facet
- Numeric Range Facet
- Date Range Facet </ul> </li> </ul>
Indexing
message := struct{ 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)