Bleve,发音为 BLEH-vee,是一个现代化的 Go 搜索索引库。Bleve 是使用 Go 编写的现代化文本索引库,支持各种常用的搜索索引,包括过滤,排序和分类。
当使用 Java 和 JVM 的时候使用比较多的是 Lucene,Elasticsearch 和 Solr。但是有时候不想要那么多依赖,想要避免外部服务,简单编译部署就可以运行。所以 Couchbase 团队就构建了一个 Go 库,支持大部分 Lucene 常规使用的文本分析组件,可以使用 off-the-shelf key-value (KV) 存储。
特性:
支持任何 go 数据架构索引,包括 JSON
通过强大的配置智能默认备份
支持字段类型
支持查询类型
Term, Phrase, Match, Match Phrase, Prefix
Conjunction, Disjunction, Boolean
Numeric Range, Date Range
人类条目的简单查询语法
tf-idf Scoring
默认搜索匹配结果高亮
支持聚合 Facets:
Terms Facet
Numeric Range Facet
Date Range Facet