知识分享之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在线词典
59 0
|
Web App开发 Dart 监控
Golang+chromedp+goquery 简单爬取动态数据 |Go主题月
胖sir,最近一段时间正在使用golang来进行开发项目,慢慢的对golang有了一些了解,突然有一天,我想用golang来实现爬取网站上的数据,例如天气预报,每日一句等等,发现这些网站的数据都是javascript动态生成,苦恼呀,不知道如何才能把网站上的动态数据获取下来,为我所用呀,例如我抓取到动态数据之后发邮件给我哟
507 0
|
JSON API 数据格式
使用Python获取快手关键词搜索api
使用Python获取快手关键词搜索api
|
5月前
|
算法 Java Go
【经典算法】LeetCode 35. 搜索插入位置(Java/C/Python3/Golang实现含注释说明,Easy)
【经典算法】LeetCode 35. 搜索插入位置(Java/C/Python3/Golang实现含注释说明,Easy)
36 0
|
6月前
|
数据采集 存储 搜索推荐
使用Python构建自定义搜索引擎:从数据抓取到索引与搜索
使用Python构建自定义搜索引擎:从数据抓取到索引与搜索
380 0
|
6月前
|
Java 编译器 Go
百度搜索:蓝易云【Go的执行原理以及Go的命令】
这些命令为Go开发者提供了便利的开发、编译、运行、测试和文档查阅等功能,使得Go语言在开发过程中更加高效和便捷。
62 1
|
6月前
|
SQL 开发框架 .NET
你知道Golang的模板怎么用吗?带你了解动态文本的生成!
你知道Golang的模板怎么用吗?带你了解动态文本的生成!
|
6月前
|
Go C语言
百度搜索:蓝易云【Go与C语言的互操作,import “C“的实例】
通过import "C",我们可以在Go代码中无缝使用C语言的函数和库,这为我们在Go项目中利用C语言的特定功能提供了便利。请注意,在使用import "C"时,Go代码和C代码之间的交互有一些规则和限制,需要遵循Go的规范和C语言的语法。
55 0
|
XML JSON 缓存
Java实现根据关键词搜索1688新品数据API方法
Java实现根据关键词搜索1688新品数据API方法
|
数据采集 JavaScript 搜索推荐
对于Python抓取Google搜索结果的一些了解
对于Python抓取Google搜索结果的一些了解