知识分享之Golang——Bleve中提供的各类搜索方法(二)

简介: 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。

知识分享之Golang——Bleve中提供的各类搜索方法(二)

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

内容

本篇为第二部分,如想查看第一部分可点击知识分享之Golang——Bleve中提供的各类搜索方法(一)
为了更便于大家进行使用bleve组件,我对其源码中提供的查询方法进行相关翻译,在此提供给大家,便于大家快速理解和使用。
以下为基于bleve的search.go文件进行翻译的相关函数使用方式:


// NewNumericRangeQuery 为数值范围创建一个新的查询。
// 任何一个都可以,但不是两个端点都可以为nil。
// 最小值包含在内。
// 最大值为互斥值。
func NewNumericRangeQuery(min, max *float64) *query.NumericRangeQuery {
    return query.NewNumericRangeQuery(min, max)
}

// NewNumericRangeInclusiveQuery 为数值范围创建一个新的Query。
// 任何一个都可以,但两个端点不能都是nil。
// 使用incluvemin和incluvemax控制是否包含在内。
func NewNumericRangeInclusiveQuery(min, max *float64, minInclusive, maxInclusive *bool) *query.NumericRangeQuery {
    return query.NewNumericRangeInclusiveQuery(min, max, minInclusive, maxInclusive)
}

// NewTermRangeQuery 为文本术语范围创建一个新的查询。
// 任意一个,但不是两个端点都可以是""。
// 最小值包含在内。
// 最大值为互斥值。
func NewTermRangeQuery(min, max string) *query.TermRangeQuery {
    return query.NewTermRangeQuery(min, max)
}

// NewTermRangeInclusiveQuery 为文本术语范围创建一个新的查询。
// 任意一个,但不是两个端点都可以是""。
// 使用inclvemin、inclvemax控制是否包含开始和结束点。
func NewTermRangeInclusiveQuery(min, max string, minInclusive, maxInclusive *bool) *query.TermRangeQuery {
    return query.NewTermRangeInclusiveQuery(min, max, minInclusive, maxInclusive)
}

// NewPhraseQuery 创建一个新的查询,用于在索引中查找精确的术语短语。
// 所提供的术语必须在指定字段中以正确的顺序存在,在正确的索引偏移量处。
// 查询的字段必须被索引,includeterminvectors设置为true。
func NewPhraseQuery(terms []string, field string) *query.PhraseQuery {
    return query.NewPhraseQuery(terms, field)
}

// NewPrefixQuery 创建一个新的Query,用于查找包含以指定前缀开头的术语的文档。
func NewPrefixQuery(prefix string) *query.PrefixQuery {
    return query.NewPrefixQuery(prefix)
}

// NewRegexpQuery 创建一个新的Query,用于查找包含与指定正则表达式匹配的术语的文档。
func NewRegexpQuery(regexp string) *query.RegexpQuery {
    return query.NewRegexpQuery(regexp)
}

// NewQueryStringQuery 创建一个新的Query,用于查找满足查询字符串的文档。
// 查询字符串是一种小型的人类查询语言。
func NewQueryStringQuery(q string) *query.QueryStringQuery {
    return query.NewQueryStringQuery(q)
}

// NewTermQuery 创建一个新的Query,用于在索引中查找精确的术语匹配。
func NewTermQuery(term string) *query.TermQuery {
    return query.NewTermQuery(term)
}

// NewWildcardQuery 创建一个新的Query,查找包含与指定通配符匹配的术语的文档。
// 在通配符模式中'*'将匹配任何0或多个字符的序列,而'?'将匹配任何单个字符。
func NewWildcardQuery(wildcard string) *query.WildcardQuery {
    return query.NewWildcardQuery(wildcard)
}

// NewGeoBoundingBoxQuery 创建一个新的Query来执行地理边界框搜索。
// 参数描述了框的位置,并将返回在框内具有索引地理点的文档。
func NewGeoBoundingBoxQuery(topLeftLon, topLeftLat, bottomRightLon, bottomRightLat float64) *query.GeoBoundingBoxQuery {
    return query.NewGeoBoundingBoxQuery(topLeftLon, topLeftLat, bottomRightLon, bottomRightLat)
}

// NewGeoDistanceQuery 创建一个新的查询执行地理距离搜索。
// 参数描述了位置和距离。
// 文档的索引地理点小于或等于给定位置提供的距离将被返回。
func NewGeoDistanceQuery(lon, lat float64, distance string) *query.GeoDistanceQuery {
    return query.NewGeoDistanceQuery(lon, lat, distance)
}

// NewIPRangeQuery 创建一个新的IP地址匹配查询。
// 如果参数是CIDR格式的,那么查询将匹配指定网络中的所有IP地址。
// 如果参数是一个IP地址,那么查询将返回包含该IP的文档。
// 支持ipv4和ipv6。
func NewIPRangeQuery(cidr string) *query.IPRangeQuery {
    return query.NewIPRangeQuery(cidr)
}
本文声明:

5330898-d1c72b6c90e378f3.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

目录
相关文章
|
6天前
|
JSON 自然语言处理 前端开发
golang在线词典
golang在线词典
37 0
|
10月前
|
Web App开发 Dart 监控
Golang+chromedp+goquery 简单爬取动态数据 |Go主题月
胖sir,最近一段时间正在使用golang来进行开发项目,慢慢的对golang有了一些了解,突然有一天,我想用golang来实现爬取网站上的数据,例如天气预报,每日一句等等,发现这些网站的数据都是javascript动态生成,苦恼呀,不知道如何才能把网站上的动态数据获取下来,为我所用呀,例如我抓取到动态数据之后发邮件给我哟
354 0
|
6月前
|
JSON API 数据格式
使用Python获取快手关键词搜索api
使用Python获取快手关键词搜索api
|
6天前
|
数据采集 存储 搜索推荐
使用Python构建自定义搜索引擎:从数据抓取到索引与搜索
使用Python构建自定义搜索引擎:从数据抓取到索引与搜索
117 0
|
10月前
|
XML JSON 缓存
Java实现根据关键词搜索1688工厂数据API方法
Java实现根据关键词搜索1688工厂数据API方法
55 0
|
10月前
|
XML JSON 缓存
Java实现根据关键词搜索1688新品数据API方法
Java实现根据关键词搜索1688新品数据API方法
61 0
|
10月前
|
数据采集 JavaScript 搜索推荐
对于Python抓取Google搜索结果的一些了解
对于Python抓取Google搜索结果的一些了解
|
11月前
|
搜索推荐 Java API
基于OpenAI Function Call 结合Lucene实现本地化的知识搜索
这是一个OpenAI Function 接入的Demo,通过Lucene+OpenAI实现个人知识库,但是目前只有服务端,没有页面之类的东西,并且实现的非常简单,所以只能当做一个Demo使用。
352 0
基于OpenAI Function Call 结合Lucene实现本地化的知识搜索
|
JSON 搜索推荐 Go
Go项目优化——使用Elasticsearch搜索引擎
Go项目优化——使用Elasticsearch搜索引擎
117 0
Go项目优化——使用Elasticsearch搜索引擎
|
Java Linux Go
知识分享之Golang——Bleve中提供的各类搜索方法(一)
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
189 0
知识分享之Golang——Bleve中提供的各类搜索方法(一)